Options
All
  • Public
  • Public/Protected
  • All
Menu

权限相关管理接口

在开启安全配置情况下,需要对应的权限才可以执行, 如对权限进行增删改需要 '管理权限', 查看需要权限需要 '查看权限管理'

Hierarchy

  • ProfileManager

Index

Methods

clone

  • clone(srcProfileId: string, name: string): string
  • 克隆一个权限集并返回其 id

    使用独立的事务,不与调用脚本共用一个事务,执行成功后即持久化到数据库中

    Parameters

    • srcProfileId: string
    • name: string

    Returns string

create

  • create(name: string, desc: string): string
  • 创建一个权限集并返回其 id

    使用独立的事务,不与调用脚本共用一个事务,执行成功后即持久化到数据库中

    Parameters

    • name: string

      name of profile, should be unique

    • desc: string

      description

    Returns string

deleteById

  • deleteById(id: string): void
  • delete profile by id, if profile does not exist, throw error

    Parameters

    • id: string

    Returns void

deleteByName

  • deleteByName(name: string): void
  • delete profile by name, if profile does not exist, throw error

    Parameters

    • name: string

      name of profile

    Returns void

getAppMenuProfilesById

  • getAppMenuProfilesById(profileID: string, appID: string): AppMenuProfile[]
  • 根据权限配置ID和应用程序ID获取菜单设置

    example
    import * as permission from 'permission';
    
    let mng = permission.newProfileManager();
    let appMenuList = mgr.getAppMenuProfilesById("profileID", "appID")
    console.log(appMenuList)
    

    Parameters

    • profileID: string

      权限配置ID

    • appID: string

      应用程序ID

    Returns AppMenuProfile[]

    应用菜单配置的列表

getAppProfilesById

  • getAppProfilesById(profileId: string): AppProfile[]
  • 根据ID获取权限配置的应用程序设置

    Parameters

    • profileId: string

    Returns AppProfile[]

    应用程序配置的列表

getById

  • get profile by id

    Parameters

    • id: string

      profile id

    Returns Profile

getByName

  • get profile by name, if not found return null

    Parameters

    • name: string

      of profile

    Returns Profile

getList

  • get all profiles

    Returns Profile[]

getPermissionsById

  • get service permissions by profile id

    Parameters

    • id: string

      profile id

    Returns PermissionAssignment[]

inheritClone

  • inheritClone(srcProfileId: string, name: string): string
  • 继承克隆权限。新的权限仅克隆基本权限与业务权限,克隆后可独立修改。 其他权限项均与父权限保持一致,不允许修改。

    子权限不允许被继承克隆。

    使用独立的事务,不与调用脚本共用一个事务,执行成功后即持久化到数据库中

    example
    import * as ps from 'permission';
    
    let src = "src_profile_id"
    let newName = "cloned_name"
    let mng = ps.newProfileManager();
    let newId = mng.inheritClone(src, newName);
    

    Parameters

    • srcProfileId: string
    • name: string

    Returns string

partialClone

  • partialClone(srcProfileID: string, name: string, ...parts: ClonePartType[]): string
  • 部分克隆权限集并返回其 id

    使用独立的事务,不与调用脚本共用一个事务,执行成功后即持久化到数据库中

    example
    
    import * as permission from 'permission';
    
    let src = "src_profile_id"
    let newName = "cloned_name"
    let mng = permission.newProfileManager();
    mng.partialClone(src, newName, permission.ClonePartType.App, permission.ClonePartType.Menu, permission.ClonePartType.ServicePermission, permission.ClonePartType.SysParameter);
    

    Parameters

    • srcProfileID: string
    • name: string
    • Rest ...parts: ClonePartType[]

    Returns string

partialInheritClone

  • partialInheritClone(srcProfileId: string, name: string, ...parts: ClonePartType[]): string
  • 部分继承克隆权限。新的权限仅克隆基本权限与业务权限,克隆后可独立修改。可选部分权限仅克隆而不继承,可独立修改。

    其他权限项均与父权限保持继承关系,不允许修改。

    使用独立的事务,不与调用脚本共用一个事务,执行成功后即持久化到数据库中

    example
    import * as ps from 'permission';
    
    let src = "src_profile_id"
    let newName = "profile_name"
    let mng = ps.newProfileManager();
    let newId = mng.partialInheritClone(src, newName, ps.ClonePartType.App, ps.ClonePartType.Menu);
    

    Parameters

    • srcProfileId: string
    • name: string
    • Rest ...parts: ClonePartType[]

      仅克隆而不继承的权限。目前仅支持输入ps.ClonePartType.App和ps.ClonePartType.Menu。

    Returns string

    新权限配置的ID

setConnectorPermission

  • setConnectorPermission(id: string, connectorType: ConnectorType, connectorName: string, accessible: boolean): void
  • set connector permission allows to update accessibility of one connector

    Parameters

    • id: string

      profile id

    • connectorType: ConnectorType

      type of connector, e.g. obs

    • connectorName: string

      the name of the connector

    • accessible: boolean

    Returns void

setInheritProfilePartial

  • setInheritProfilePartial(profileID: string, ...parts: ClonePartType[]): any
  • 重新设置继承克隆的子权限的部分继承设置

    使用独立的事务,不与调用脚本共用一个事务,执行成功后即持久化到数据库中

    Parameters

    • profileID: string
    • Rest ...parts: ClonePartType[]

      仅克隆而不继承的权限。目前仅支持输入ps.ClonePartType.App和ps.ClonePartType.Menu。

    Returns any

setPermission

  • setPermission(id: string, permission: string, accessible: boolean): void
  • set service permission by profile id

    Parameters

    • id: string

      profile id

    • permission: string

      permission name

    • accessible: boolean

    Returns void

setPermissions

  • set multiple service permission

    Parameters

    Returns void

updateAppMenuProfilesById

  • updateAppMenuProfilesById(profileID: string, appID: string, menuProfiles: AppMenuProfile[]): any
  • 更新应用的菜单配置

    example
    import * as permission from 'permission';
    
    let mng = permission.newProfileManager();
    mng.updateAppMenuProfilesById( profileID, appID, [{menu: 'menuID1', default: true, visible: true},{menu: 'menuID2', default: false, visible: false}])
    

    Parameters

    Returns any

updateAppProfilesById

  • updateAppProfilesById(profileID: string, appProfiles: AppProfile[]): void
  • 根据ProfileID更新指定权限配置的应用程序设置

    example
    import * as permission from 'permission';
    
    let mng = permission.newProfileManager();
    mng.updateAppProfilesById(id, [{ applicationID: "app_ID", visible: true, default: true }])
    

    Parameters

    • profileID: string

      Profile ID

    • appProfiles: AppProfile[]

      需要更新的AppProfile配置信息,未指定的AppProfile不会修改。

    Returns void

updateProfileById

  • update profile value by id

    example
    import * as ps from 'permission';
    
    let id = "xxxx"
    let mng = permission.newProfileManager();
    let values = permission.valueMap({ ViewAllData: false, ManageUsers: true, ManageProcesses: true });
    mng.updateProfileById(id, values);
    

    Parameters

    Returns void

updateProfileByName

  • update profile value by name

    example
    import * as ps from 'permission';
    
    let name = "name"
    let mng = permission.newProfileManager();
    let values = permission.valueMap({ ViewAllData: false, ManageUsers: true, ManageProcesses: true });
    mng.updateProfileByName(name, values);
    

    Parameters

    Returns void