1

ASP.NET MVC 上的 Windows 身份框架 - 如何根据操作授权用户?

喜欢:

    [Authorize]
    public ActionResult About()
    {
        return View();
    }

而不是像默认 WIF 站点集成行为那样的整个站点级别的安全性?

更新: 也许问题应该是,如何允许匿名用户也访问该站点?

4

2 回答 2

1

事实证明,必须在 web.config 中正确设置授权元素。

默认是这样的:

    <authorization>
        <deny users="?" />
    </authorization>

这仅仅意味着拒绝所有匿名用户。

但在 MVC 中应该是这样的:

    <authorization>
        <!--<deny users="?" />-->
    </authorization>

这意味着允许所有用户,并让应用程序处理身份验证。

这意味着必须恢复默认 WIF 设置:

从:

<authentication mode="None" />

类似于:

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>

因此,MVC 中的每个操作授权都有效。好的。:)

有关授权的更多信息:http: //msdn.microsoft.com/en-us/library/wce3kxhd.aspx

于 2010-12-21T11:19:37.267 回答
0

您可以在 Web.config 中配置站点身份验证模型

http://msdn.microsoft.com/en-us/library/aa291347(v=vs.71).aspx

于 2010-12-21T10:56:04.147 回答