Ejemplo n.º 1
0
        /// <summary>
        ///     Permiso de autorizacion
        /// </summary>
        /// <param name="permissionRecordSystemName">Nombre del permiso del sistema</param>
        /// <param name="userRole">Rol del USUARIO</param>
        /// <returns>true - autorizado; otros, false</returns>
        protected virtual bool Authorize(string permissionRecordSystemName, UserRole userRole)
        {
            if (String.IsNullOrEmpty(permissionRecordSystemName))
                return false;

            var key = string.Format(PERMISSIONS_ALLOWED_KEY, userRole.Id, permissionRecordSystemName);
            return _cacheManager.Get(key, () =>
            {
                foreach (var permission1 in userRole.PermissionRecords)
                    if (permission1.SystemName.Equals(permissionRecordSystemName,
                        StringComparison.InvariantCultureIgnoreCase))
                        return true;

                return false;
            });
        }
Ejemplo n.º 2
0
        public virtual void UpdateUserRole(UserRole userRole)
        {
            if (userRole == null)
                throw new ArgumentNullException("userRole");

            _userRoleRepository.Update(userRole);

            _cacheManager.RemoveByPattern(USERROLES_PATTERN_KEY);
        }
Ejemplo n.º 3
0
        public virtual void DeleteUserRole(UserRole userRole)
        {
            if (userRole == null)
                throw new ArgumentNullException("userRole");

            if (userRole.IsSystemRole)
                throw new KsException("System role could not be deleted");

            _userRoleRepository.Delete(userRole);

            _cacheManager.RemoveByPattern(USERROLES_PATTERN_KEY);
        }