权限组
注册节点
将节点注册到Serein的权限管理器中,方便用户填写权限配置
不需要在节点内添加插件Id
比如一个插件Id为id
,节点为node
,那么注册时只需要传入node
即可,最终注册的节点为id.node
- C#
- JavaScript
namespace Serein.Core.Services.Permissions;
public partial class PermissionManager
{
public void Register(string id, string node, string? description = null);
}
参数 | 类型 | 说明 |
---|---|---|
id | string | 插件Id |
node | string | 节点 |
description | string? | 描述 |
示例
using Serein.Core.Services.Permissions;
var permissionManager = serviceProvider.GetRequiredService<PermissionManager>();
permissionManager.Register("id", "node", "description");
serein.permissions.register(node: string, description: string = null): void
参数 | 类型 | 说明 |
---|---|---|
node | string | 节点 |
description | string | null | 描述 |
注销节点
将节点从Serein的权限管理器中删除
- C#
- JavaScript
namespace Serein.Core.Services.Permissions;
public partial class PermissionManager
{
public void Unregister(string id, string node);
}
参数 | 类型 | 说明 |
---|---|---|
id | string | 插件Id |
node | string | 节点 |
serein.permissions.unregister(node: string): void
参数 | 类型 | 说明 |
---|---|---|
node | string | 节点 |
添加权限组
- C#
- JavaScript
using Serein.Core.Models.Permissions;
namespace Serein.Core.Services.Permissions;
public partial class GroupManager
{
public void Add(string id, Group group);
}
参数 | 类型 | 说明 |
---|---|---|
id | string | 权限组Id |
group | Group | 权限组对象 |
serein.permissions.groups.add(id: string, group: Group): void
参数 | 类型 | 说明 |
---|---|---|
id | string | 权限组Id |
group | Group | 权限组对象 |
删除权限组
- C#
- JavaScript
namespace Serein.Core.Services.Permissions;
public partial class GroupManager
{
public void Remove(string id);
}
参数 | 类型 | 说明 |
---|---|---|
id | string | 权限组Id |
serein.permissions.groups.remove(id: string): void
参数 | 类型 | 说明 |
---|---|---|
id | string | 权限组Id |
获取所有权限组Id
- C#
- JavaScript
namespace Serein.Core.Services.Permissions;
public partial class GroupManager
{
public string[] Ids { get; }
}
serein.permissions.groups.ids
- 类型
string[]
获取或修改权限组
- C#
- JavaScript
using Serein.Core.Models.Permissions;
namespace Serein.Core.Services.Permissions;
public partial class GroupManager
{
public Group this[string id] { get; set; }
}
serein.permissions.groups[id: string]: Group
计算指定用户的权限
- C#
- JavaScript
namespace Serein.Core.Services.Permissions;
public partial class GroupManager
{
public Dictionary<string, bool?> GetAllPermissions(
long userId,
bool ignoreWildcard = false
);
}
参数 | 类型 | 说明 |
---|---|---|
userId | long | 用户Id |
ignoreWildcard | bool | 是否忽略通配符 |
serein.permissions.groups.getAllPermissions(
userId: number,
ignoreWildcard: boolean = false
): Record<string, boolean | null>
参数 | 类型 | 说明 |
---|---|---|
userId | number | 用户Id |
ignoreWildcard | boolean | 是否忽略通配符 |
返回值类型 | 说明 |
---|---|
Record<string, boolean | null> | 包含此用户的所有权限值的字典 |
备注