我正在使用 WebForms 和 Asp.Net 路由。
尝试在成员文件夹上实施安全性时,我按照此处的说明进行操作:
http://blogs.msdn.com/b/mikeormond/archive/2008/06/21/asp-net-routing-and-authorization.aspx
private IHttpHandler GeneratePage(string VN, RequestContext RC)
{
string virtualPath
= string.Format("~/Members/{0}.aspx", VN);
if (UrlAuthorizationModule.CheckUrlAccessForPrincipal(virtualPath,
RC.HttpContext.User,
RC.HttpContext.Request.HttpMethod))
{
if (virtualPath != null)
{
return (Page)BuildManager.CreateInstanceFromVirtualPath(virtualPath, typeof(Page));
}
}
else
{
throw new SecurityException();
}
return null;
}
}
但是,我不只是想抛出一个安全异常,我想重定向到登录页面。我宁愿不对 a 进行硬编码,Response.Redirect
而且我认为这无论如何都不是正确的方法。
将控制权传递给授权引擎并重定向到默认登录页面的“正确”方式是什么?