访问网站时,避免重定向到 ADFS 2.0 登录页



>我正在开发一个MVC 3 WIF应用程序,它与ADFS 2.0和AD交换声明。它的效果非常好,但有一个问题我似乎无法解决。

我想做的是保持匿名用户可以访问主页(HomeController),当他们进入不同的页面时,他们将被重定向到ADFS登录。我尝试在我的 web.config 中添加一个位置,当我手动输入http://localhost/Home时它可以工作,但当我输入 https://localhost 时它不起作用。

<location path="Home">
<system.web>
  <authorization>
    <allow users="?" />
  </authorization>
  <httpModules>
    <add name="WSFederationAuthenticationModule" type="Microsoft.IdentityModel.Web.WSFederationAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <add name="SessionAuthenticationModule" type="Microsoft.IdentityModel.Web.SessionAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </httpModules>
</system.web>

关于如何解决这个问题的任何建议?

强烈建议不要使用位置和授权 web.config 设置,因为它会在 MVC 应用程序中打开安全漏洞:

http://forums.asp.net/t/1583850.aspx/1/10

相反,您应该在控制器或操作级别使用 [Authorize] 属性来确定应向哪些用户和角色授予访问权限。

对于您的问题,如果未指定[Authorize],则页面应允许匿名访问。

最新更新