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」ロールを持つ人はメニュー項目でマニフェスト レポートを表示できず、「ManifestReports」ロールを持つ人はメニュー項目で給与レポートを表示できません)。
問題:
「PayrollReports」ロールを持つユーザーとして、自分の URL に入力する
http:\\mysite.com\reports\ManifestDetailedReport.aspx
と、ページが表示されます。表示されるはずのは、authorizedaccess.aspx です。
同様に、「ManifestReports」ロールを持つユーザーとして、URL に入力するhttp:\\mysite.com\reports\PayPeriodQtrReport.aspx
とページが表示されます。表示されるはずのは、authorizedaccess.aspx です。
質問: web.config を使用して、ユーザーが URL を入力してページにハッキングするのを防ぐにはどうすればよいですか?