예제 #1
0
        public bool CheckPermission(RequestModels.PermissionRequestModel model)
        {
            var resource = _resourceRepository.CheckResource(model.Route);

            if (resource.IsPublic)
            {
                return(true);
            }


            ApplicationUser user = HttpContext.Current.GetOwinContext().GetUserManager <ApplicationUserManager>().FindById(HttpContext.Current.User.Identity.GetUserId());

            bool isPermitted = false;

            foreach (var role in user.Roles)
            {
                model.RoleId     = role.RoleId;
                model.ResourceId = resource.Id;

                var permission = _repository.CheckPermission(model);

                if (permission != null)
                {
                    isPermitted = true;
                }
            }

            return(isPermitted);
        }
예제 #2
0
        public IHttpActionResult CheckPermission(RequestModels.PermissionRequestModel model)
        {
            bool isPermitted = _service.CheckPermission(model);

            return(Ok(isPermitted));
        }
예제 #3
0
 public SecurityModels.Permission CheckPermission(RequestModels.PermissionRequestModel model)
 {
     return(_db.Permissions.FirstOrDefault(x => x.RoleId == model.RoleId && x.ResourceId == model.ResourceId));
 }