我在ASP.NET中成功实现了基于角色的授权。当一个人没有所需的角色时,他会看到401.2未经授权的错误页面。 我现在想要完成的是在我的应用程序中有一个自定义的401页面,并通过web.config中的设置将其重定向到那里。我试过这个:
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"><error statusCode="401" redirect="NoAccess.htm" /></customErrors>
但这并没有被抓住。我是否必须在IIS中覆盖它?我希望不会因为这会使事情更难部署
答案 0 :(得分:1)
我认为您可能遇到的是您为整个应用程序设置了安全性。也就是说,当401出现重定向到NoAccess.htm失败时,因为用户也无法访问该文件。由于你没有发布整个文件,我无法确定,但这是我最好的猜测。
确保您有&lt; location path =“/ NoAccess.htm”&gt;&lt; system.web&gt;&lt; authorization&gt;&lt; allow users =“?” /></authorization<</system.web>在你的web.config文件中。