我最近开始开发一个在Azure Active Directory上使用组织身份验证的ASP.NET MVC Web应用程序。
我设法部署了应用程序并且运行正常。
但是,我仍然不确定用于提供Active Directory组织身份验证的联合WS的基础工作机制。
在呈现主页之前运行网站时,应用程序会立即将用户重定向到Microsoft登录站点。我在应用程序中找不到任何能够实现此目的的代码。我试图在Global.asax中注释掉IdentityConfig方法,但重定向仍在发生。
我想知道应用程序何时以及如何启动身份验证过程,并且在用户单击“登录”超链接之前,可以安全地禁止身份验证过程。
答案 0 :(得分:0)
要将AD身份验证添加到ASP.NET WebApps / VNext,您可以使用新的ADAL库,此处有许多示例https://github.com/AzureADSamples。您可以使用此示例:https://github.com/AzureADSamples/WebApp-WSFederation-DotNet,这完全由用户操作驱动。
答案 1 :(得分:0)
我发现解决方案非常简单。只需删除:
<system.web>
<!-- remove/comment out
<authorization>
<deny users="?" />
</authorization>
-->
</system.web>
在Web.config中。这将告诉WSFederationAuthenticationModule不要执行重定向事件并允许公共页面中的匿名用户。
如果在ASP.NET MVC中进行开发,则在需要身份验证时将[Authorize]属性应用于操作或控制器。
如果您在ASP.NET Web窗体中进行开发,请添加以下内容:
<configuration>
<!-- Add the following configuration-->
<location path="Admin">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
</configuration>
以上配置将强制用户登录Azure Active Directory以访问“管理员”的相对位置路径。在您的网络应用程序中(例如http://localhost:8080/Admin)。