Skip to content
On this page

PermissionUtility

App\Utilities\PermissionUtility

获取用户主角色权限

php
PermissionUtility::getUserMainRolePerm($userId);
Parameter NameTypeRequiredDescription
userIdNumberrequiredusers > id
  • 如果主角色有过期时间,并且已经过期,则输出继承角色权限。
  • 如果无继承角色(或者该继承 ID 找不到角色),则以配置表 default_role 键名键值的角色权限为准。
  • 如果配置表键值为空(或找不到角色),则输出 null

获取不显示的小组 ID

php
PermissionUtility::getGroupFilterIds($userId);
Parameter NameTypeRequiredDescription
userIdNumberoptionalusers > id

获取不输出帖子的小组 ID

php
PermissionUtility::getPostFilterByGroupIds($userId);
Parameter NameTypeRequiredDescription
userIdNumberoptionalusers > id

判断用户是否归属该账号

php
PermissionUtility::checkUserAffiliation($userId, $accountId);
Parameter NameTypeRequiredDescription
userIdNumberrequiredusers > id
accountIdNumberrequiredaccounts > id

判断用户权限

php
PermissionUtility::checkUserPerm($userId, $permUserIds);
Parameter NameTypeRequiredDescription
userIdNumberrequiredusers > id
permUserIdsArrayrequired有权用户的 ID 数组 ["1","2"]

将拥有权限的用户 ID 和需要确认的用户 ID 传参,该功能会判断用户 ID 是否包括在授权 IDs 当中。

判断用户角色权限

php
PermissionUtility::checkUserRolePerm($userId, $permRoleIds);
Parameter NameTypeRequiredDescription
userIdNumberrequiredusers > id
permRoleIdsArrayrequired有权角色的 ID 数组 ["1","2"]

将拥有权限的角色 ID 和需要确认的用户 ID 传参,该功能会判断用户名下所有角色是否拥有授权角色。

判断用户对话权限

php
PermissionUtility::checkUserConversationPerm($receiveUserId, $authUserId, $langTag);
Parameter NameTypeRequiredDescription
receiveUserIdNumberrequired收信人 users > id
authUserIdNumberrequired发信人 users > id
langTagStringoptional提示语使用的语言
查看结果
json
{
    "status": true,
    "code": 36600, // 状态为 false 时输出的提示 code
    "message": "", // 状态为 false 时输出的提示语
}

判断用户是否为小组管理员

php
PermissionUtility::checkUserGroupAdmin($groupId, $userId);
Parameter NameTypeRequiredDescription
groupIdNumberrequiredgroups > id
userIdNumberrequiredusers > id

判断用户是否有小组发表权限

php
PermissionUtility::checkUserGroupPublishPerm($groupId, $permissions, $userId);
Parameter NameTypeRequiredDescription
groupIdNumberrequiredgroups > id
permissionsArrayrequiredgroups > permissions
userIdNumberrequiredusers > id
查看结果
json
{
    "allowPost": true, // 是否可发帖
    "reviewPost": false, // 发帖是否需要审核
    "allowComment": true, // 是否可发评论
    "reviewComment": false, // 发评论是否需要审核
}

判断帖子阅读权限

php
PermissionUtility::checkPostAllow($postId, $userId);
Parameter NameTypeRequiredDescription
postIdNumberrequiredposts > id
userIdNumberrequiredusers > id

对需要授权的帖子,判断当前用户是否符合授权要求

判断帖子是否可以评论

php
PermissionUtility::checkPostCommentPerm($pidOrPostId, $userId);
Parameter NameTypeRequiredDescription
pidOrPostIdstringoptionalposts > id
userIdNumberoptionalusers > id

判断内容编辑状态

php
PermissionUtility::checkContentEditPerm($createDateTime, $editTimeConfig, $timezone, $langTag);
Parameter NameTypeRequiredDescription
createDateTimeCarbonrequiredposts->created_atcomments->created_at
editTimeConfigNumberrequiredpost_edit_time_limitcomment_edit_time_limit
timezoneStringoptionalIf empty, the default time zone is used.
langTagStringoptionalIf empty, the default language is used.

Released under the Apache-2.0 License