认证 & 授权 - 静态 Authorization 类
优质
小牛编辑
180浏览
2023-12-01
[命名空间: Serenity, 程序集: Serenity.Core]
Authorization 类提供访问一些像 IAuthorizationService、IPermissionService 等服务提供的信息的捷径。
例如,要替换下面的写法
Dependency.Resolve<IAuthorizationService>().HasPermission("SomePermission")
你可以使用
Authorization.HasPermission("SomePermission")
public static class Authorization
{
public static bool IsLoggedIn { get; }
public static IUserDefinition UserDefinition { get; }
public static string UserId { get; }
public static string Username { get; }
public static bool HasPermission(string permission);
public static void ValidateLoggedIn();
public static void ValidatePermission(string permission);
}
IsLoggedIn
、 UserDefinition
、 UserId
、 Username
和 HasPermission
是为了让使用对应服务更容易访问当前用户信息。
ValidateLoggedIn
检查是否有登录用户,如果没有登录用户,则抛出含 NotLoggedIn
错误码的 ValidationException
异常。
ValidatePermission
检查登录用户是否有指定的权限,如果没有相应权限,则抛出含 AccessDenied
错误码的 ValidationException
异常。