public JsonResult <PermissionsResponse> GetUserPermissions([FromBody] PermissionsRequest request)
        {
            var user = User.Identity.Name.ToLower().Replace("alfa\\", "");

            PermissionsResponse _response = _accountService.GetUserPermissions(user, request);

            return(Json(_response));
        }
예제 #2
0
        // Permission
        public override Task <PermissionsResponse> GetAllPermissions(Empty request, ServerCallContext context)
        {
            var permissions = _permissionDao.GetAll();
            var res         = new PermissionsResponse();

            res.Permissions.AddRange(permissions.Select(p => _mapper.Map <PermissionDTO>(p)));
            return(Task.FromResult(res));
        }
예제 #3
0
        public override Task <PermissionsResponse> GetRolePermissions(KeyObject request, ServerCallContext context)
        {
            var roleId      = Convert.ToInt32(request.Body);
            var permissions = _permissionDao.GetPermissionsByRoleId(roleId);
            var res         = new PermissionsResponse();

            res.Permissions.AddRange(permissions.Select(p => _mapper.Map <PermissionDTO>(p)));
            return(Task.FromResult(res));
        }
예제 #4
0
        public override Task <PermissionsResponse> GetUserPermissions(KeyObject request, ServerCallContext context)
        {
            var id          = Convert.ToInt64(request.Body);
            var permissions = _userDao.GetUserPermissions(id);
            var response    = new PermissionsResponse();

            response.Permissions.AddRange(permissions.Select(p => _mapper.Map <PermissionDTO>(p)));
            return(Task.FromResult(response));
        }
        // Get all permissions from all roles assigned to the user of an app.
        public override Task <PermissionsResponse> GetPermissions(UserRequest request, ServerCallContext context)
        {
            var user = _database.GetCollection <User>("Users").AsQueryable().Where(x => x.QualifiedName == request.Id).FirstOrDefault();

            if (user == null)
            {
                return(Task.FromResult(new PermissionsResponse()));
            }

            var permissions = _database.GetCollection <Role>("Roles").AsQueryable().Where(x => user.Roles.Contains(x.Name)).ToList().SelectMany(x => x.Permissions);
            var response    = new PermissionsResponse();

            response.Permissions.AddRange(permissions);

            return(Task.FromResult(response));
        }
예제 #6
0
        public void RefreshSystemPermissionCache()
        {
            IList <Permission> lstResult = new List <Permission>();

            WCFExtension.Using(new PMSServiceClient(), serviceClient =>
            {
                PermissionsResponse response = serviceClient.GetPermissionsBySystemCode(SystemCode);
                if (response.Success)
                {
                    response.Permissions.Each(p => lstResult.Add(p.ToLocal()));
                }
                else
                {
                    throw new Exception(response.Message);
                }
            });
            string key = string.Format(PERMISSIONS_BY_SYSTEMCODE_KEY, SystemCode);

            Cache.Add(key, lstResult);
        }
예제 #7
0
        public IList <Permission> GetAllPermission()
        {
            string key = string.Format(PERMISSIONS_BY_SYSTEMCODE_KEY, SystemCode);

            return(Cache.Get(key, () =>
            {
                IList <Permission> lstResult = new List <Permission>();
                WCFExtension.Using(new PMSServiceClient(), serviceClient =>
                {
                    PermissionsResponse response = serviceClient.GetPermissionsBySystemCode(SystemCode);
                    if (response.Success)
                    {
                        response.Permissions.Each(p => lstResult.Add(p.ToLocal()));
                    }
                    else
                    {
                        throw new Exception(response.Message);
                    }
                });
                return lstResult;
            }));
        }