asp.net-mvc – 仅当不使用角色时,如何重定向[Authorize]到loginUrl?
发布时间:2020-05-23 16:03:42 所属栏目:asp.Net 来源:互联网
导读:我想[授权]重定向到loginUrl,除非我也使用角色,例如[Authorize(Roles =“Admin”)]。在这种情况下,我想简单地显示一个说明用户没有授权的页面。 我该怎么办? 这是从我修改的AuthorizeAttribute实现的代码;我把它命名为SecurityAttribute。我唯一改变的是O
|
我想[授权]重定向到loginUrl,除非我也使用角色,例如[Authorize(Roles =“Admin”)]。在这种情况下,我想简单地显示一个说明用户没有授权的页面。 我该怎么办? 解决方法这是从我修改的AuthorizeAttribute实现的代码;我把它命名为SecurityAttribute。我唯一改变的是OnAuthorization方法,我添加了一个额外的字符串属性为Url重定向到一个未经授权的页面:// Set default Unauthorized Page Url here
private string _notifyUrl = "/Error/Unauthorized";
public string NotifyUrl {
get { return _notifyUrl; } set { _notifyUrl = value; }
}
public override void OnAuthorization(AuthorizationContext filterContext) {
if (filterContext == null) {
throw new ArgumentNullException("filterContext");
}
if (AuthorizeCore(filterContext.HttpContext)) {
HttpCachePolicyBase cachePolicy =
filterContext.HttpContext.Response.Cache;
cachePolicy.SetProxyMaxAge(new TimeSpan(0));
cachePolicy.AddValidationCallback(CacheValidateHandler,null);
}
/// This code added to support custom Unauthorized pages.
else if (filterContext.HttpContext.User.Identity.IsAuthenticated)
{
if (NotifyUrl != null)
filterContext.Result = new RedirectResult(NotifyUrl);
else
// Redirect to Login page.
HandleUnauthorizedRequest(filterContext);
}
/// End of additional code
else
{
// Redirect to Login page.
HandleUnauthorizedRequest(filterContext);
}
}
您以与原始AuthorizeAttribute相同的方式调用它,除了有一个额外的属性可以覆盖未经授权的页面网址: // Use custom Unauthorized page: [Security (Roles="Admin,User",NotifyUrl="/UnauthorizedPage")] // Use default Unauthorized page: [Security (Roles="Admin,User")] (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 使用Razor视图抛出有关DotNetOpenAuth.IE
- asp.net – Linq更新查询生成哪里0 = 1?
- ASP.NET MVC验证属性和Jquery
- asp.net-mvc-3 – 修改StringLength验证的默认ErrorMessage
- 从asp.net ListBox中获取所有选定的项目
- 使用Openiddict的ASP.NET Core 1.0 OAuth服务器
- asp.net – 如何引用主域名而不用硬编码它的名字?
- 在ASP.NET中下载文件的实现代码
- asp.net – VS 2010 Web.config转换进行调试
- asp.net-mvc – Json返回时如何读取modelstate错误?
推荐文章
站长推荐
热点阅读
