如何在虚拟路由 url 上使用表单身份验证(asp.net 路由和表单身份验证)?

发布于 2024-10-04 06:16:11 字数 531 浏览 2 评论 0原文

在 ~/tools/ 中,我有一个包含以下内容的 webconfig 文件:

 <system.web>
    <authorization>
      <allow roles="admin" />
      <deny users="*" />
    </authorization>
  </system.web>

对 ~/tools/mypage.aspx 的请求要求用户具有管理员角色。如果我使用 URL 路由并且将 ~/categories/mytools 请求路由到上述页面,则表单身份验证不需要用户具有管理员角色。如何在虚拟路由 URL 上使用表单身份验证?


所以我需要将其添加到我的 webconfig 中:

对于每个需要表单身份验证的虚拟网址?如果必须对每个定向到“受保护”目标页面的 URL 执行此操作,则似乎是重复的。还有其他解决方案吗?

In ~/tools/ I have a webconfig file that contains the following:

 <system.web>
    <authorization>
      <allow roles="admin" />
      <deny users="*" />
    </authorization>
  </system.web>

Requests to ~/tools/mypage.aspx require the user to be in the admin role. If I use URL routing and have requests to ~/categories/mytools route to that above page, forms authentication does not require the user to be in the admin role. How do I use forms authentication on a virtual routed url?


So I need to add this to my webconfig:

for every virtual url that needs forms authentication? Seems repetitive if this has to be done with every url that is directed to a 'protected' destination page. Is there another solution?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挽清梦 2024-10-11 06:16:11

由于 ~/categories/mytools 不是明确的 ~/tools,因此不会调用 web.config 授权。即使使用虚拟路由。您需要跨目录复制 web.config 文件才能实现此效果。为了避免双重职责,您可能需要将这些条目放入根 web.config 中,列出其特定目录或文件以获得确切的权限。

Since ~/categories/mytools is not explicitly ~/tools the web.config authorization does not get called. Even with virtual routing. You will need to replicate the web.config files across the directories to achieve this affect. To avoid doing double duty, you might want to put these entries into the root web.config listing their specific directories or files for exact permissions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文