UNPKG

@buession/shiro

Version:

A security framework for JavaScript or TypeScript.

100 lines (99 loc) 2.16 kB
export interface PrincipalPlainObject { /** * 用户 ID */ id: string; /** * 用户角色名称列表 */ roles: string[]; /** * 用户权限列表 */ permissions: string[]; } export interface Principal { /** * 返回用户 ID * * @return 用户 ID */ getId(): string; /** * 设置用户 ID * * @param id * 用户 ID */ setId(id: string): void; /** * 返回用户角色名称列表 * * @return 用户角色名称列表 */ getRoles(): string[]; /** * 设置用户角色 * * @param roleNames * 用户角色名称列表 */ setRoles(roleNames: string[]): void; /** * 添加用户角色 * * @param roleName * 用户角色名称 */ addRole(roleName: string): void; /** * 批量添加用户角色 * * @param roleNames * 用户角色名称列表 */ addRoles(roleNames: string[]): void; /** * 返回用户权限列表 * * @return 用户权限列表 */ getPermissions(): string[]; /** * 设置用户权限 * * @param permissions * 用户权限列表 */ setPermissions(permissions: string[]): void; /** * 添加用户权限 * * @param permission * 用户权限 */ addPermission(permission: string): void; /** * 批量添加用户权限 * * @param permissions * 用户权限列表 */ addPermissions(permissions: string[]): void; } export declare class DefaultPrincipal implements Principal { private id; private roles; private permissions; constructor(id: string, roles: string[], permissions: string[]); getId(): string; setId(id: string): void; getRoles(): string[]; setRoles(roleNames: string[]): void; addRole(roleName: string): void; addRoles(roleNames: string[]): void; getPermissions(): string[]; setPermissions(permissions: string[]): void; addPermission(permission: string): void; addPermissions(permissions: string[]): void; }