【问题标题】:Windows Identity Framework on ASP.NET MVC - how to authorize user per action basis?ASP.NET MVC 上的 Windows 身份框架 - 如何根据操作授权用户?
【发布时间】:2011-05-28 18:03:04
【问题描述】:

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

喜欢:

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

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

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

【问题讨论】:

    标签: c# asp.net-mvc model-view-controller wif windows-identity


    【解决方案1】:

    事实证明,authorization 元素必须在 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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 是的,我知道这些设置,但这如何解决我的问题?如果我设置 mode="Form" 它还需要在站点级别进行身份验证...
      猜你喜欢
      • 1970-01-01
      • 2019-10-24
      • 2011-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-11
      • 2021-01-28
      相关资源
      最近更新 更多