【问题标题】:Regular Expression on web.config location path attribute (with parameters)web.config 位置路径属性上的正则表达式(带参数)
【发布时间】:2011-03-09 21:45:31
【问题描述】:

有没有办法做这样的事情?

<location path="/(view|edit)post.aspx\?id=[7-9][0-9]+">
    <system.web>
      <authorization>
        <allow roles="AdminPublishers"/>
        <deny users="*"/>
      </authorization>
    </system.web>
</location>

授权只是一个例子。我希望能够在这些位置做其他事情。

【问题讨论】:

  • 你到底想做什么?
  • 最初我只是想要授权,但是将自定义错误、全球化等应用到一组位置会非常有用。仅授权可以通过自定义 HttpModule 解决,但微软已经开发了基于位置的授权模块。更改位置路径行为会很棒。

标签: asp.net regex httphandler web-config location


【解决方案1】:

您可以使用 HttpModule 并将处理程序附加到 AuthenticateRequest 事件。在您的处理程序中,使用您的正则表达式与传入的请求 URL 进行匹配,如果匹配,请检查当前登录用户的角色。您还可以将其设置为从 Web.config 读取配置,如果是这样的话你在追求。

【讨论】:

  • 嗨。如果我只需要授权用户但我想更改匹配位置的其他 system.web 设置,那会很好。
  • 啊,我明白了。您是否尝试过使用覆盖设置将 web.config 放在该位置? msdn.microsoft.com/en-us/library/ms178685.aspx
  • 我不是 100% 清楚你想要做什么。您是在尝试对 HttpHandler(s) 应用安全性还是只是启动并运行一些?
  • 不仅是安全性,还有 system.web 标签下可用的其他设置。
猜你喜欢
  • 2013-02-12
  • 2023-02-08
  • 2021-08-18
  • 1970-01-01
  • 2020-11-10
  • 1970-01-01
  • 2018-01-26
  • 2012-12-08
  • 1970-01-01
相关资源
最近更新 更多