我需要使用Active Directory身份验证在MVC4和EF5中实现一个项目,但必须在SQL中实现角色,而不是使用角色的AD组。
到目前为止,我已经得到了一些实体的支持……我希望它能有所帮助。
角色 用户 用户角色
我正在尝试使用[角色]批注。是否有可能?
我想我明白了。
请随时进行改进并重新发布:
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] public class ARQAuthorize : AuthorizeAttribute { protected override bool AuthorizeCore(HttpContextBase httpContext) { bool allowToUse = false; IPrincipal user = httpContext.User; if (!user.Identity.IsAuthenticated) { return false; } else{ try { Arq.Core.DAL.ArqContext c = new ArqContext(); if (c.Users.Where(u => u.UserName.ToUpper() == user.Identity.Name.ToUpper()).FirstOrDefault().role.RoleDescription == "ADMINS") { allowToUse = true; } } catch (Exception) { allowToUse = false; } } return allowToUse; } }