我搜索了 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”角色的人无法在菜单项中看到 Manifest Reports,而具有“ManifestReports”角色的人无法在菜单项中看到 Payroll Reports)。
问题:
作为具有“PayrollReports”角色的用户,我可以输入我的网址
http:\\mysite.com\reports\ManifestDetailedReport.aspx
并显示页面。应该显示的是未授权访问.aspx
同样,作为具有“ManifestReports”角色的用户,我可以输入我的网址http:\\mysite.com\reports\PayPeriodQtrReport.aspx
并显示页面。应该显示的是未授权访问.aspx
问题: 使用 web.config,如何防止用户通过输入 url 来入侵页面?