public bool IsAuthorized(ClaimsPrincipal User, string PermissionName, string Permissions)
        {
            User user = new User();

            user.UserId = -1;
            user.Roles  = "";

            if (User != null)
            {
                var idclaim = User.Claims.Where(item => item.Type == ClaimTypes.PrimarySid).FirstOrDefault();
                if (idclaim != null)
                {
                    user.UserId = int.Parse(idclaim.Value);
                    foreach (var claim in User.Claims.Where(item => item.Type == ClaimTypes.Role))
                    {
                        user.Roles += claim.Value + ";";
                    }
                    if (user.Roles != "")
                    {
                        user.Roles = ";" + user.Roles;
                    }
                }
            }

            return(UserSecurity.IsAuthorized(user, PermissionName, Permissions));
        }
Exemplo n.º 2
0
        protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, PermissionRequirement requirement)
        {
            // permission is scoped based on EntityId which must be passed as a querystring parameter
            var ctx = HttpContextAccessor.HttpContext;

            if (ctx != null && ctx.Request.Query.ContainsKey("entityid"))
            {
                int    EntityId    = int.Parse(ctx.Request.Query["entityid"]);
                string permissions = Permissions.EncodePermissions(EntityId, Permissions.GetPermissions(requirement.EntityName, EntityId, requirement.PermissionName).ToList());

                User user = new User();
                user.UserId = -1;
                user.Roles  = "";

                if (context.User != null)
                {
                    var idclaim = context.User.Claims.Where(item => item.Type == ClaimTypes.PrimarySid).FirstOrDefault();
                    if (idclaim != null)
                    {
                        user.UserId = int.Parse(idclaim.Value);
                        foreach (var claim in context.User.Claims.Where(item => item.Type == ClaimTypes.Role))
                        {
                            user.Roles += claim.Value + ";";
                        }
                        if (user.Roles != "")
                        {
                            user.Roles = ";" + user.Roles;
                        }
                    }
                }

                if (UserSecurity.IsAuthorized(user, requirement.PermissionName, permissions))
                {
                    context.Succeed(requirement);
                }
            }
            return(Task.CompletedTask);
        }
Exemplo n.º 3
0
        public bool IsAuthorized(ClaimsPrincipal User, string EntityName, int EntityId, string PermissionName)
        {
            string permissionstrings = Permissions.EncodePermissions(EntityId, Permissions.GetPermissions(EntityName, EntityId, PermissionName).ToList());

            User user = new User();
            user.UserId = -1;
            user.Roles = "";

            if (User != null)
            {
                var idclaim = User.Claims.Where(item => item.Type == ClaimTypes.PrimarySid).FirstOrDefault();
                if (idclaim != null)
                {
                    user.UserId = int.Parse(idclaim.Value);
                    foreach (var claim in User.Claims.Where(item => item.Type == ClaimTypes.Role))
                    {
                        user.Roles += claim.Value + ";";
                    }
                    if (user.Roles != "") user.Roles = ";" + user.Roles;
                }
            }

            return UserSecurity.IsAuthorized(user, PermissionName, permissionstrings);
        }
Exemplo n.º 4
0
 public bool IsAuthorized(ClaimsPrincipal principal, string permissionName, string permissions)
 {
     return(UserSecurity.IsAuthorized(GetUser(principal), permissionName, permissions));
 }
Exemplo n.º 5
0
 public bool IsAuthorized(ClaimsPrincipal User, string PermissionName, string Permissions)
 {
     return(UserSecurity.IsAuthorized(GetUser(User), PermissionName, Permissions));
 }