ASP.NET 身份 - Windows 身份验证和 Web 服务
ASP.NET Identity - Windows Authentication and Web Services
ASP.NET 身份 - Windows 身份验证和 Web 服务
我为工作创建的所有 Web 应用程序都是为 Intranet 创建的,因此我们使用 Windows 身份验证。但是,为了获取当前用户的任何其他信息(电子邮件、phone、办公室),我需要使用另一个部门提供的 Web 服务。为了获取信息,我将用户名 属性 传递给网络服务,并使用我编写的 class 来存储信息。然后我将这个对象存储在会话中并在需要时使用它。
虽然这很好用,但我知道一定有更好的方法。我最近研究了身份框架,虽然它看起来不错,但我不确定它是否适合我的情况。我看到的大多数示例都使用数据库来注册和登录用户。我的用户永远不需要登录,也不需要创建,至少不需要在应用程序中创建。我基本上只需要能够将来自 Web 服务的数据存储在身份中。这可能吗?
环顾四周后,我终于解决了我的问题。使用这些链接,我弄清楚了我需要在哪里加载我的用户数据、设置我的声明,然后如何使用声明来授权我的控制器。
http://www.mytechnotes.me/2015/08/04/56/
http://leastprivilege.com/2012/10/26/using-claims-based-authorization-in-mvc-and-web-api/
ASP.NET 身份 - Windows 身份验证和 Web 服务
我为工作创建的所有 Web 应用程序都是为 Intranet 创建的,因此我们使用 Windows 身份验证。但是,为了获取当前用户的任何其他信息(电子邮件、phone、办公室),我需要使用另一个部门提供的 Web 服务。为了获取信息,我将用户名 属性 传递给网络服务,并使用我编写的 class 来存储信息。然后我将这个对象存储在会话中并在需要时使用它。
虽然这很好用,但我知道一定有更好的方法。我最近研究了身份框架,虽然它看起来不错,但我不确定它是否适合我的情况。我看到的大多数示例都使用数据库来注册和登录用户。我的用户永远不需要登录,也不需要创建,至少不需要在应用程序中创建。我基本上只需要能够将来自 Web 服务的数据存储在身份中。这可能吗?
环顾四周后,我终于解决了我的问题。使用这些链接,我弄清楚了我需要在哪里加载我的用户数据、设置我的声明,然后如何使用声明来授权我的控制器。
http://www.mytechnotes.me/2015/08/04/56/ http://leastprivilege.com/2012/10/26/using-claims-based-authorization-in-mvc-and-web-api/