如何将基于角色的安全性异常重定向到自定义页面(ASP.NET)

时间:2009-10-02 12:46:13

标签: asp.net roles roleprovider

我很简单:

[PrincipalPermission(SecurityAction.Demand, Role = "Administrator")]
public partial class _Default : System.Web.UI.Page

这样做 - 如果角色不是管理员,它会拒绝访问。但是当它拒绝访问时,我只是得到一个白页(所有未处理的异常都在全局文件中拾取并通过电子邮件发送/记录)。我怎么告诉它在哪里指示失败?所以我可以显示安全异常页面。

1 个答案:

答案 0 :(得分:1)

在Global.asax.cs中,将以下内容添加到Application_Error:

if (exception.GetType() == typeof(System.Security.SecurityException))
                Response.Redirect("SecurityExceptionPage.html");