asp.net-mvc-3 – 从自定义授权属性访问角色
发布时间:2020-09-21 13:49:46 所属栏目: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();
} (编辑:长春站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – Viewstate隐藏字段如此之大,一切都会崩溃
- asp.net-web-api – ASP身份OAuth令牌 – 我应该在移动应用
- .NET 3.5 / VS 2008上的ASP.NET Web Services的自定义HTTP基
- asp.net-mvc – 模型单元测试能否真正独立,如何[ASP.NET MV
- asp.net-mvc – 发现MVC项目中是否使用views / partials
- 解决asp.net Sharepoint无法连接发布自定义字符串处理程序,
- asp.net – 使用JavaScript重新排列的ListBox元素导致回发时
- Asp.Net超大文件上传问题解决
- asp.net-mvc – 访问ASP.NET MVC应用程序中的控制器/操作列
- asp.net-core – “netcoreapp1.0”是一个不受支持的框架.
推荐文章
站长推荐
- asp.net-mvc – 只发布控制器
- asp.net – Ajax上的Identity Server 3 – 401而
- asp.net-mvc – 使用自定义格式的ASP.NET MVC Vi
- asp.net – 渗透测试人员说.ASPXAUTH cookie是不
- 数组 – 如何在vbscript中实现具有可变大小的数组
- asp.net-mvc – Asp .Net Core – 无法安装Micro
- asp.net-mvc – Mvc 3 Razor:使用部分部分视图?
- asp.net – 以纯文本识别URL
- 如果我的Asp.Net会话有IsNewSession == true,那我
- VS 2015 CTP 6 Nuget Package Source
热点阅读
