ASP.NET 4.0中,使用默认的身份认证,在web.config中配置如下:
<authentication mode="Forms">
<forms defaultUrl="~/" loginUrl="~/Account/Login" name=".ticket" timeout="30" slidingExpiration="true" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
默认情况下,身份失效时浏览器会跳转到登录页,并在后面带returnUrl参数,参数值为跳转前的url,现在想重写这个跳转事件,自定义跳转的url以及参数,怎么办?
1.可以自定义 AuthorizeAttribute ,重写其中的 OnAuthorization 或 HandleUnauthorizedRequest 方法。
2.如果使用了自定义的 BaseController ,也可在 BaseController 中进行处理。