@buession/shiro
Version:
A security framework for JavaScript or TypeScript.
218 lines (217 loc) • 6.03 kB
TypeScript
import type { PrincipalPlainObject, Principal } from './core';
export interface IShiro {
/**
* 验证是否为已认证通过的用户,不包含已记住的用户,这是与 isUser 标签方法的区别所在
*
* @return 用户是否已通过认证
*/
isAuthenticated(): boolean;
/**
* 验证是否为未认证通过用户,与 isAuthenticated 标签相对应,与 isGuest 标签的区别是,该标签包含已记住用户
*
* @return 用户是否未通过认证
*/
isNotAuthenticated(): boolean;
/**
* 验证用户是否为访客,即未认证(包含未记住)的用户
*
* @return 用户是否为访客
*/
isGuest(): boolean;
/**
* 验证用户是否认证通过或已记住的用户
*
* @return 用户是否认证通过或已记住的用户
*/
isUser(): boolean;
/**
* 验证用户是否具备某角色。
*
* @param roleName
* 角色名称
*
* @return 用户是否具备某角色
*/
hasRole(roleName: string): boolean;
/**
* 验证用户是否不具备某角色,与 hasRole 逻辑相反
*
* @param roleName
* 角色名称
*
* @return 用户是否不具备某角色
*/
lacksRole(roleName: string): boolean;
/**
* 验证用户是否具有以下任意一个角色
*
* @param roleNames
* 角色列表
*
* @return 用户是否具有以下任意一个角色
*/
hasAnyRole(roleNames: string[]): boolean;
/**
* 验证用户是否具有以下所有角色
*
* @param roleNames
* 角色列表
*
* @return 用户是否具有以下所有角色
*/
hasRolesAll(roleNames: string[]): boolean;
/**
* 验证用户是否具备某权限
*
* @param permission
* 权限名称
*
* @return 用户是否具备某权限
*/
hasPermission(permission: string): boolean;
/**
* 验证用户是否不具备某权限,与 hasPermission 逻辑相反
*
* @param permission
* 权限名称
*
* @return 用户是否不具备某权限
*/
lacksPermission(permission: string): boolean;
/**
* 验证用户是否具有以下任意一个权限
*
* @param permissions
* 权限列表
*
* @return 用户是否具有以下任意一个权限
*/
hasAnyPermission(permissions: string[]): boolean;
/**
* 验证用户是否具有以下所有权限
*
* @param permissions
* 权限列表
*
* @return 用户是否具有以下所有权限
*/
hasAllPermissions(permissions: string[]): boolean;
/**
* 验证用户是否具有以下所有权限
*
* @param permissions
* 权限列表
*
* @return 用户是否具有以下所有权限
*/
hasPermissionsAll(permissions: string[]): boolean;
}
export declare class Shiro implements IShiro {
private readonly principal;
constructor(principal: Principal | PrincipalPlainObject);
/**
* 验证是否为已认证通过的用户,不包含已记住的用户,这是与 isUser 标签方法的区别所在
*
* @return 用户是否已通过认证
*/
isAuthenticated(): boolean;
/**
* 验证是否为未认证通过用户,与 isAuthenticated 标签相对应,与 isGuest 标签的区别是,该标签包含已记住用户
*
* @return 用户是否未通过认证
*/
isNotAuthenticated(): boolean;
/**
* 验证用户是否为访客,即未认证(包含未记住)的用户
*
* @return 用户是否为访客
*/
isGuest(): boolean;
/**
* 验证用户是否认证通过或已记住的用户
*
* @return 用户是否认证通过或已记住的用户
*/
isUser(): boolean;
/**
* 验证用户是否具备某角色。
*
* @param roleName
* 角色名称
*
* @return 用户是否具备某角色
*/
hasRole(roleName: string): boolean;
/**
* 验证用户是否不具备某角色,与 hasRole 逻辑相反
*
* @param roleName
* 角色名称
*
* @return 用户是否不具备某角色
*/
lacksRole(roleName: string): boolean;
/**
* 验证用户是否具有以下任意一个角色
*
* @param roleNames
* 角色列表
*
* @return 用户是否具有以下任意一个角色
*/
hasAnyRole(roleNames: string[]): boolean;
/**
* 验证用户是否具有以下所有角色。
*
* @param roleNames
* 角色列表
*
* @return 用户是否具有以下所有角色
*/
hasRolesAll(roleNames: string[]): boolean;
/**
* 验证用户是否具备某权限
*
* @param permission
* 权限名称
*
* @return 用户是否具备某权限
*/
hasPermission(permission: string): boolean;
/**
* 验证用户是否不具备某权限,与 hasPermission 逻辑相反
*
* @param permission
* 权限名称
*
* @return 用户是否不具备某权限
*/
lacksPermission(permission: string): boolean;
/**
* 验证用户是否具有以下任意一个权限
*
* @param permissions
* 权限列表
*
* @return 用户是否具有以下任意一个权限
*/
hasAnyPermission(permissions: string[]): boolean;
/**
* 验证用户是否具有以下所有权限
*
* @param permissions
* 权限列表
*
* @return 用户是否具有以下所有权限
*/
hasAllPermissions(permissions: string[]): boolean;
/**
* 验证用户是否具有以下所有权限
*
* @param permissions
* 权限列表
*
* @return 用户是否具有以下所有权限
*/
hasPermissionsAll(permissions: string[]): boolean;
}