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>

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

4

1 回答 1

3

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

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

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

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

于 2012-08-08T13:48:13.170 回答