asp.net-mvc-3 – 从自定义授权属性访问角色
发布时间:2020-12-15 20:48:18 所属栏目:asp.Net 来源:网络整理
导读:我正在创建自己的自定义authorize属性,覆盖AuthorizeCore方法,并想知道是否可以访问已传递到authorize属性标记的角色. 所以,例如,如果我有这个: [CustomAuthorize(Roles = "Administrator,Sales,Entry")] 是否可以从这里访问这些: protected override bool
我正在创建自己的自定义authorize属性,覆盖AuthorizeCore方法,并想知道是否可以访问已传递到authorize属性标记的角色.
所以,例如,如果我有这个: [CustomAuthorize(Roles = "Administrator,Sales,Entry")] 是否可以从这里访问这些: protected override bool AuthorizeCore(HttpContextBase httpContext) { } 然后我可以拆分字符串并创建一个数组. 解决方法
你可以这个.Roles这是一个你需要拆分的字符串.
源代码是免费提供的. 默认的AuthorizeCore实现: protected virtual bool AuthorizeCore(HttpContextBase httpContext) { if (httpContext == null) { throw new ArgumentNullException("httpContext"); } IPrincipal user = httpContext.User; if (!user.Identity.IsAuthenticated) { return false; } if (_usersSplit.Length > 0 && !_usersSplit.Contains(user.Identity.Name,StringComparer.OrdinalIgnoreCase)) { return false; } if (_rolesSplit.Length > 0 && !_rolesSplit.Any(user.IsInRole)) { return false; } return true; } 它们有一个内部拆分功能,如下所示: internal static string[] SplitString(string original) { if (String.IsNullOrEmpty(original)) { return new string[0]; } var split = from piece in original.Split(',') let trimmed = piece.Trim() where !String.IsNullOrEmpty(trimmed) select trimmed; return split.ToArray(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET服务器迁移
- asp.net – 控制Web / MSDeploy发布的内容:PDF文件?
- 本地化 – 当我将文化添加到文件名时,我的全局资源设计器文
- 在ASP.NET中实现多文件上传的方法
- asp.net-mvc – MVC EF4 POCO – 如何存储实体上下文?
- asp.net-mvc – @helper和Url.Action
- asp.net-mvc – 无法使用IIS Express在Windows 10上运行Web
- ASP.NET MVC4 设置路由的命名空间 namespace
- asp.net – WebAPI返回XML
- asp.net-mvc – 具有DateTime的MVC 3编辑器模板
推荐文章
站长推荐
- asp.net-mvc-4 – MVC4和MVCContrib
- 简单好用的ASP.NET分页类(支持AJAX、自定义文字
- 用于ASP.NET工作示例的Youtube API v3
- asp.net-mvc – Html Validate和Html ValidateFo
- asp.net-mvc – ViewModel有自己的逻辑吗?
- asp.net-mvc-4 – WebApi Json.NET自定义日期处理
- asp.net – 为什么我在StateServer模式下运行时会
- asp.net-mvc – 使用ASP.NET Core和MVC存储本地文
- asp.net-mvc-3 – ASP.NET MVC 3一对多表格
- asp.net – 没有owin.Environment项目在上下文中
热点阅读