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

时间:2012-08-08 13:05:49

标签: asp.net-mvc-3 wif adfs2.0

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

我想要做的是让匿名用户可以访问主页面(HomeController),当他们进入不同的页面时,他们将被重定向到ADFS-signin。我曾尝试在我的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>

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

1 个答案:

答案 0 :(得分:3)

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

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

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

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