Example #1
0
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            filterContext.HttpContext.Response.Cache.SetNoServerCaching();
            filterContext.HttpContext.Response.Cache.SetNoStore();

            var    userId = Constant.GetUserID();
            string roles  = base.Roles;

            if (base.Roles == "LOGIN")
            {
                filterContext.HttpContext.Response.StatusCode = (int)System.Net.HttpStatusCode.OK;
            }
            else if (base.Roles == "LOGOUT")
            {
                filterContext.HttpContext.Response.StatusCode = (int)System.Net.HttpStatusCode.OK;
            }
            else
            {
                if (userId == "")
                {
                    base.HandleUnauthorizedRequest(filterContext);
                }
                bool state = ClaimsManager.IsUserInRole(roles);

                if (!state)
                {
                    filterContext.Result = new Http403Result();
                }
                else
                {
                    filterContext.HttpContext.Response.StatusCode = 200;
                }
            }
        }
Example #2
0
        public static bool IsUserInRole(string roleName)
        {
            // change to claims
            var userId = Constant.GetUserID();

            if (userId != null || userId != "")
            {
                List <Roles> roles = ClaimsManager.RolesPerUserId(userId.ToString());
                //Console.WriteLine(roles);
                string[] splitrole = roleName.Split(',');
                for (int i = 0; i < splitrole.Count(); i++)
                {
                    if (splitrole[i] == "anonymous".ToUpper())
                    {
                        return(true);
                    }
                    var re = roles.Find(r => r.RoleName == splitrole[i]);
                    if (re != null)
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
Example #3
0
        public override bool IsUserInRole(string username, string roleName)
        {
            ClaimsPrincipal principal = HttpContext.Current.User as ClaimsPrincipal;
            List <Roles>    user      = ClaimsManager.RolesPerUserId(principal.FindFirst(ClaimTypes.Name).Value);
            var             userRoles = user.Select(r => r.RoleName);

            if (user == null)
            {
                return(false);
            }
            return(userRoles != null &&
                   userRoles.Any(r => r == roleName));
        }
Example #4
0
        public override string[] GetRolesForUser(string username)
        {
            ClaimsPrincipal principal = HttpContext.Current.User as ClaimsPrincipal;
            // username in this case we use user id
            List <Roles> user      = ClaimsManager.RolesPerUserId(principal.FindFirst(ClaimTypes.Name).Value);
            var          userRoles = user.Select(r => r.RoleName);

            if (user == null)
            {
                return new string[] { }
            }
            ;
            return(userRoles == null ? new string[] { } :
                   userRoles.ToArray());
        }
Example #5
0
        public static bool HasRole(string RoleName)
        {
            var userId = Constant.GetUserID();

            if (userId != "" || userId != null)
            {
                List <Roles> roles = ClaimsManager.RolesPerUserId(userId.ToString());
                var          re    = roles.Find(r => r.RoleName == RoleName);
                if (re != null)
                {
                    return(true);
                }
            }

            return(false);
        }
Example #6
0
        public override string[] GetAllRoles()
        {
            List <Roles> userContext = ClaimsManager.GetAllRoles();

            return(userContext.Select(r => r.RoleName).ToArray());
        }