AuthenticationInterface.php 2.49 KB
Newer Older
秦俊坤's avatar
秦俊坤 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
<?php
/**
 * Created by PhpStorm.
 * User: qjk
 * Date: 2022/03/28
 * Time: 15:07
 */

namespace Meibuyu\Rpc\Service\Interfaces\User;

interface AuthenticationInterface
{

    /**
     * 获取对应用户能够看到的菜单
秦俊坤's avatar
秦俊坤 committed
16 17
     * @param string $applicationName
     * @param integer $userId
秦俊坤's avatar
秦俊坤 committed
18 19
     * @return array
     */
秦俊坤's avatar
秦俊坤 committed
20
    public function getMenus($applicationName, $userId): array;
秦俊坤's avatar
秦俊坤 committed
21 22 23 24


    /**
     * 获取对应用户的菜单权限
秦俊坤's avatar
秦俊坤 committed
25 26
     * @param string $applicationName 应用名称
     * @param integer $userId 用户 ID
秦俊坤's avatar
秦俊坤 committed
27 28
     * @return array
     */
秦俊坤's avatar
秦俊坤 committed
29
    public function getButtons($applicationName, $userId, $frontendPath):array;
秦俊坤's avatar
秦俊坤 committed
30 31 32 33


    /**
     * 获取对应路由的接口权限结果
秦俊坤's avatar
秦俊坤 committed
34
     * @param $path string 请求 URL 路径
秦俊坤's avatar
秦俊坤 committed
35
     * @param $method string 路由名字
秦俊坤's avatar
秦俊坤 committed
36 37 38 39
     * @param $applicationName string 应用名字
     * @param $userId integer  用户 ID
     * @return bool
     */
秦俊坤's avatar
秦俊坤 committed
40
    public function authByRouter($applicationName, $path, $method, $userId):  bool;
41 42 43 44 45 46 47 48

    /**
     * @param string $appName 应用名称
     * @param integer $userId 用户 ID
     * @param array $buttonCodes
     * @return array
     */
    public function getAppBtnAccess($appName, $userId, $buttonCodes = []): array;
Liu lu's avatar
Liu lu committed
49 50 51 52 53 54 55 56 57 58


    /**
     * 获取指定用户数据权限
     * @param $uid 用户id
     * @param $code
     * @param $appName 应用名称
     */
    public function getUserDataAuth($uid,$code,$appName);

59 60 61 62 63 64 65

    /**
     * 获取用户领导的部门id数组 (包含正副职管理者)
     * @param $userId
     * @return array
     */
    public function leadDeptIds($userId);
66 67 68 69


    /**
     * 获取用户领导的团队id数组
70
     * @param $userIds
71 72
     * @return array
     */
73
    public function leadTeamIdsByUsers($userIds);
74 75 76 77 78 79 80 81


    /**
     * 判断是否是管理员
     * @param $userId
     * @return bool
     */
    public function isAdmin($userId): bool;
82 83


84 85 86 87 88 89
    /**
     * 获取用户对应权限角色名称列表
     * @param $userId
     * @return array
     */
    public function getUserRoleNames($userId): array;
90 91 92



93 94 95 96 97 98 99 100
    /**
     * 动态同步外部系统数据列表到某个权限数据详情表
     * @param string $code new_data_auth 表 code
     * @author Liu lu
     * @return true | string (error_msg)
     * date 2022-11-08
     */
    public function syncExternalDataAuth($code);
101

102 103 104 105 106 107 108 109

    /**
     * 获取数据权限拥有者 通过数据权限CODE
     * @param $dataAuthCode
     * @author Liu lu
     * date 2023-11-24
     */
    public function getPermissionOwnerByDataAuthCode($dataAuthCode);
秦俊坤's avatar
秦俊坤 committed
110
}