gpt4 book ai didi

asp.net - 使用 web.config 拒绝访问网页

转载 作者:行者123 更新时间:2023-12-02 22:09:23 25 4
gpt4 key购买 nike

我搜索了 Google 和 SO 的帖子,但没有找到解决我问题的结果。

我的 web.config 是:

<location path="~/reports/PayPeriodQtrReport.aspx, ~/reports/PayPeriodDetailReport.aspx">
<system.web>
<authorization>
<allow roles="PayrollReports"/>
<deny users="*"/>
</authorization>
</system.web>
</location>

<location path="~/reports/ManifestAnnualReport.aspx, ~/reports/ManifestDetailedReport.aspx">
<system.web>
<authorization>
<allow roles="ManifestReports"/>
<deny users="*"/>
</authorization>
</system.web>
</location>

授权按要求工作(意味着具有“PayrollReports”角色的人无法在菜单项中看到 list 报告,具有“ManifestReports”角色的人无法在菜单项中看到工资单报告).

问题:
作为具有“PayrollReports”角色的用户,我可以输入我的网址 http:\\mysite.com\reports\ManifestDetailedReport.aspx 页面显示。应该显示的是unauthorizedaccess.aspx

同样,作为具有“ManifestReports”角色的用户,我可以输入我的 url http:\\mysite.com\reports\PayPeriodQtrReport.aspx 并显示页面。应该显示的是unauthorizedaccess.aspx

问题:使用 web.config,如何防止用户通过键入 url 侵入页面?

最佳答案

您需要将每个文件放在它自己的 location 条目中并删除 ~/:

<location path="reports/PayPeriodQtrReport.aspx">
<system.web>
<authorization>
<allow roles="PayrollReports"/>
<deny users="*"/>
</authorization>
</system.web>
</location>

等...

这假设您使用的是 RoleProvider。您使用的是内置 RoleProvider,或者您是从 RoleProvider 继承并在 web.config 中正确指定的自定义 RoleProvider。

关于asp.net - 使用 web.config 拒绝访问网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15578941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com