如何使用Windows身份验证和自定义角色提供程序设置OWIN

12
在MVC4中,我在web.config中启用了<authentication mode="Windows"/>,并创建了一个自定义的角色提供程序,该提供程序会自动使用WindowsIdentity包装RolePrincipal。效果非常好。
在MVC5中,如何使用OWIN和/或Microsoft.ASPNET.Identity实现这一点?
1个回答

10

在 web.config 中配置或在 IIS 网站上配置的方式类似。

<authentication mode="Windows" />
<authorization>
  <deny users="?" />
</authorization>

以上对于内部网络应用已足够。如果需要提供额外的声明转换以及混合身份验证等其他场景,对于ASP.NET应用程序,您可以使用自定义OWIN中间件处理程序。

看一下此类WindowsPrincipalHandler的示例。您需要像app.Use(typeof(WindowsPrincipalHandler))那样在startup.cs中注册它。


有趣的做法。WindowsPrincipal已经具备声明感知功能,因此他们只是在没有角色的情况下重写它。这也是添加数据库调用以填充角色的正确位置吗? - batkuip

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接