ASP.NET MVC 上的 Windows 身份框架 - 如何根据操作授权用户?
喜欢:
[Authorize]
public ActionResult About()
{
return View();
}
而不是像默认 WIF 站点集成行为那样的整个站点级别的安全性?
更新: 也许问题应该是,如何允许匿名用户也访问该站点?
ASP.NET MVC 上的 Windows 身份框架 - 如何根据操作授权用户?
喜欢:
[Authorize]
public ActionResult About()
{
return View();
}
而不是像默认 WIF 站点集成行为那样的整个站点级别的安全性?
更新: 也许问题应该是,如何允许匿名用户也访问该站点?
事实证明,必须在 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
您可以在 Web.config 中配置站点身份验证模型
http://msdn.microsoft.com/en-us/library/aa291347(v=vs.71).aspx