【问题标题】:Web.config: Wildcards in location and authorizationWeb.config:位置和授权中的通配符
【发布时间】:2011-05-21 11:39:29
【问题描述】:

在我的 ASP.Net 应用程序中,我使用的是 URL 路由。
url 格式有点像:http://site/{culture}/project/{id}

为了允许用户访问登录和恢复页面,我在 web.config 中添加了以下条目:

<location path="en-GB/login">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>

<location path="nl-NL/login">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>

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

是否有一种表示法可以让我跳过 en-GB 部分并用通配符替换它?
无论文化如何,我都希望登录和恢复页面等可用。

【问题讨论】:

    标签: asp.net web-config url-routing


    【解决方案1】:

    我不相信您可以在根 web.config 中放置相对路径,但这不是问题。您可以利用对嵌套 Web.Config 文件的支持。

    您可以在任何子目录中放置一个与此类似的 web.config 文件(根据特定目录的需要进行调整),您将获得所需的支持。由于设置更接近他们控制的代码文件,因此维护起来也容易得多。

    <?xml version="1.0"?>
    <configuration>
        <system.web>
          <authorization>
            <deny users="*"/>
          </authorization>
        </system.web>
    </configuration>
    

    身份验证类型、角色等的整体配置将在应用程序根目录的 web.config 中完成。因此,您无法通过此方法为每个目录设置单独的登录页面,但您可以拥有一个在需要时自动处理重定向的登录页面(通过分析 ReturnURL QueryString 值)。

    【讨论】:

    • 不幸的是,这些不是真正的目录。我正在使用 url 路由。没有 en-GB 或 nl-NL 文件夹等
    • 所以在内部您对所有语言环境使用相同的文件,但附加查询字符串值以确定语言环境?
    • 我对所有语言环境都使用相同的文件。没有查询字符串,是通过url路由完成的。
    • 在页面/方法级别进行安全检查不是更容易吗?
    • 为什么这是公认的答案,如果它没有解决语言环境来自 URL 并且每个语言环境没有放置推荐网站的物理“子目录”这一事实.config???
    【解决方案2】:

    查看this 帖子,您或许可以更改登录页面的扩展名并执行以下操作:

    <system.webServer>
      <security>
        <requestFiltering>
          <fileExtensions>
            <add fileExtension=".login" allowed="true" />
          </fileExtensions>
        </requestFiltering>
      </security>
    </system.webServer>
    

    我没有尝试过,但也许可以尝试一下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-13
      • 2016-12-08
      • 1970-01-01
      • 2018-06-15
      • 1970-01-01
      相关资源
      最近更新 更多