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

3
我很简单:

我有一个非常简单的问题:

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

这个功能可以正常工作 - 如果角色不是管理员,则拒绝访问。但当它拒绝访问时,我只会得到一个空白页面(所有未处理的异常都将被Global文件捕获并发送电子邮件/记录)。如何告诉它在失败时重定向到哪里?这样我就可以显示安全异常页面。

1个回答

1
在 Global.asax.cs 文件中,将以下内容添加到 Application_Error 中:
if (exception.GetType() == typeof(System.Security.SecurityException))
                Response.Redirect("SecurityExceptionPage.html");

1
这对于服务器端处理来说没问题!但是对于使用Ajax调用的WebMethod呢? 它们不会引发application_error... - ari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接