我最近开始开发一个ASP。. NET MVC web应用程序,在Azure Active Directory上使用组织身份验证。
我遵循这个教程:http://www.asp.net/identity/overview/getting-started/developing-aspnet-apps-with-windows-azure-active-directory
我成功地部署了应用程序,它运行正常。
但是,我仍然不确定用于提供Active Directory组织身份验证的Federation WS的底层工作机制。
在呈现主页之前,当网站运行时,应用程序立即将用户重定向到Microsoft登录站点。我在应用程序中找不到任何实现此功能的代码。我试图在全局中注释出IdentityConfig方法。但重定向仍在进行
我想知道应用程序何时以及如何启动身份验证过程,并且在用户单击Sign In超链接之前是否可能且安全地抑制身份验证过程
在ASP中添加AD认证。. NET WebApps/VNext可以使用新的ADAL库,这里有许多示例https://github.com/AzureADSamples。您可以使用这个示例:https://github.com/AzureADSamples/WebApp-WSFederation-DotNet,这完全由用户操作驱动。
我发现解决方法很简单。删除:
<system.web>
<!-- remove/comment out
<authorization>
<deny users="?" />
</authorization>
-->
</system.web>
在web . config中。这将告诉WSFederationAuthenticationModule不要执行重定向事件,并允许匿名用户访问公共页面。
如果使用ASP开发,则在需要身份验证时将[authorization]属性应用于操作或控制器。净MVC。
如果您使用ASP进行开发。. NET Web表单,添加以下内容:
<configuration>
<!-- Add the following configuration-->
<location path="Admin">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
</configuration>
上述配置将强制用户登录Azure Active Directory,以便访问web应用程序中'Admin'的相对位置路径(例如http://localhost:8080/Admin)。