【问题标题】:Problem with Authorization with IIS and MVCIIS 和 MVC 的授权问题
【发布时间】:2010-10-08 22:02:10
【问题描述】:

在设置授权时遇到了一些问题。 首先我得到了:

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

所以我拒绝所有未知用户,然后允许他们查看这些页面:

<location path="Default.aspx">
  <system.web>
    <authorization>
      <allow users="*" />
    </authorization>
  </system.web>
</location>

<location path="Public">
  <system.web>
    <authorization>
      <allow users="*" />
    </authorization>
  </system.web>
</location>

现在问题.. 他们可以访问公共页面和 Default.aspx .. 但不能访问 www.mydomain.com 或 www.mydomain.com/ .. 所以 www.mydmain.com/Default.aspx 工作正常。 那么如何使这些工作?

【问题讨论】:

    标签: asp.net-mvc iis iis-7 authorization


    【解决方案1】:

    请记住,WebForms 和 MVC 之间的受保护资源存在根本区别。在 WebForms 中,您尝试保护的资源是页面本身,并且由于页面存在于磁盘上的众所周知的路径中,您可以使用 Web.config 来保护它们。但是,在 MVC 中,您尝试保护的资源实际上是控制器和操作,而不是单独的路径和页面。如果您尝试保护路径而不是控制器,则您的应用程序可能存在安全漏洞。

    在 MVC 中,默认情况下所有控制器 + 操作都可供所有用户访问,包括经过身份验证的用户和访客。为了保护控制器或操作,提供了 [Authorize] 属性。请参阅http://www.asp.net/learn/mvc/#MVC_Security 了解更多信息。

    简而言之,对于您的应用程序来说,您希望将每个控制器 除了 赋予默认控制器和具有 [Authorize] 属性的公共控制器。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 2020-08-13
    • 2011-11-11
    • 2011-11-27
    • 2015-04-10
    相关资源
    最近更新 更多