/// <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; }); }
public virtual void UpdateUserRole(UserRole userRole) { if (userRole == null) throw new ArgumentNullException("userRole"); _userRoleRepository.Update(userRole); _cacheManager.RemoveByPattern(USERROLES_PATTERN_KEY); }
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); }