Access

处理所有访问授权例程的类。

1.7.0

Joomla CMS

方法

check

检查用户是否有权执行操作的方法,可以选择在资源上执行。

check( userId,  action, int|string assetKey = null,  preload = true) : bool|null
静态

1.7.0

参数

userId

int要检查授权的用户 ID。

action

string要授权的操作名称。

assetKey

int|string资源密钥(资源 ID 或资源名称)。null 回退到根资源。

preload

bool指示是否应使用预加载。

响应

bool|null如果允许则为 true,如果明确拒绝则为 false,如果隐式拒绝则为 null。

checkGroup

检查组是否有权执行操作的方法,可以选择在资源上执行。

checkGroup( groupId,  action, int|string assetKey = null,  preload = true) : 
静态

1.7.0

参数

groupId

int要检查授权的组路径。

action

string要授权的操作名称。

assetKey

int|string资源密钥(资源 ID 或资源名称)。null 回退到根资源。

preload

bool指示是否应使用预加载。

响应

bool如果授权则为 true。

cleanAssetKey

清理资源密钥以确保我们始终有东西的方法。

cleanAssetKey(int|string assetKey = null) : int|string
静态

3.7.0

参数

assetKey

int|string资源密钥(资源 ID 或资源名称)。null 回退到根资源。

响应

int|string资源 ID 或资源名称。

clearStatics

用于清除静态缓存的方法。

clearStatics() : 
静态

1.7.3

响应

void

getActionsFromData

从字符串或 xml 返回可设置权限的操作列表的方法。

getActionsFromData(string|\SimpleXMLElement data,  xpath = "/access/section[@name='component']/") : bool|array
静态

3.0.0

参数

data

string|SimpleXMLElementXML 字符串或 XML 元素。

xpath

string用于搜索字段的可选 xpath。

响应

bool|array<string|int, mixed>如果发生错误则为 false,否则为可用操作列表。

getActionsFromFile

从文件返回可设置权限的操作列表的方法。

getActionsFromFile( file,  xpath = "/access/section[@name='component']/") : bool|array
静态

3.0.0

参数

file

stringXML 文件的路径。

xpath

string用于搜索字段的可选 xpath。

响应

bool|array<string|int, mixed>如果发生错误则为 false,否则为可用操作列表。

getAssetAncestors

递归获取特定资源的父资源 ID 列表的方法。

getAssetAncestors( assetType,  assetId) : mixed||string|int
静态

1.6

参数

assetType

string资源类型,或资源名称,或资源扩展名(例如,'com_content.article'、'com_menus.menu.2'、'com_contact')。

assetId

int数字资源 ID。

响应

array<string|int, mixed>祖先 ID 列表(包括原始的 $assetId)。

getAssetId

从资源密钥获取资源 ID 的方法。

getAssetId(int|string assetKey) : 
静态

3.7.0

参数

assetKey

int|string资源密钥(资源 ID 或资源名称)。

响应

int资源 ID。

getAssetName

从资源密钥获取资源名称的方法。

getAssetName(int|string assetKey) : 
静态

3.7.0

参数

assetKey

int|string资源密钥(资源 ID 或资源名称)。

响应

string资源名称(例如,com_content.article.8)。

getAssetRules

返回资源的 Rules 对象的方法。返回的对象可以选择仅保存为资源显式设置的规则,或者保存从父资源继承的所有规则以及显式规则的总和。

getAssetRules(int|string assetKey,  recursive = false,  recursiveParentAsset = true,  preload = true) : \Joomla\CMS\Access\Rules
静态

1.7.0

注意

非预加载代码将在 4.0 中删除。所有资源规则都应使用资源预加载。

参数

assetKey

int|string资源密钥(资源 ID 或资源名称)。null 回退到根资源。

recursive

bool如果要返回带有继承规则的规则对象,则为 true。

recursiveParentAsset

bool如果要根据继承的组件/扩展规则计算规则,则为 true。

preload

bool指示是否应使用预加载。

响应

Rules资源的 Rules 对象。

getAssetType

从资源名称获取资源类型的方法。

getAssetType(int|string assetKey) : 
静态

对于顶级组件,这将返回“components”:'com_content' 返回 'components'

对于其他类型:'com_content.article.1' 返回 'com_content.article' 'com_content.category.1' 返回 'com_content.category'

1.6

参数

assetKey

int|string资源密钥(资源 ID 或资源名称)。

响应

string资源类型(例如,com_content.article)。

getAuthorisedViewLevels

返回用户有权访问的视图级别列表的方法。

getAuthorisedViewLevels( userId) : mixed||string|int
静态

1.7.0

参数

userId

int要获取其授权视图级别列表的用户 ID。

响应

array<string|int, mixed>用户有权访问的视图级别列表。

getExtensionNameFromAsset

从资源名称获取扩展名的方法。

getExtensionNameFromAsset(int|string assetKey) : 
静态

1.6

参数

assetKey

int|string资源密钥(资源 ID 或资源名称)。

响应

string扩展名(例如,com_content)。

getGroupPath

获取叶组从其分支到树根(包括叶组 ID)所属的父组。

getGroupPath( groupId) : 
静态

1.7.0

参数

groupId

mixed表示要检查的标识的整数或整数数组。

响应

mixed如果允许则为 true,如果明确拒绝则为 false,如果隐式拒绝则为 null。

getGroupsByUser

返回映射到用户的用户组列表的方法。返回的列表可以选择仅保存显式映射到用户的组,或者保存显式映射的组以及用户继承的所有组。

getGroupsByUser( userId,  recursive = true) : mixed||string|int
静态

1.7.0

参数

userId

int要获取其组列表的用户 ID。

recursive

bool如果要包含继承的用户组,则为 true。

响应

array<string|int, mixed>映射到用户的用户组 ID 列表。

getGroupTitle

返回用户组标题的方法

getGroupTitle( groupId) : 
静态

3.5

参数

groupId

int要获取其标题的组 ID。

响应

string组的标题

getUsersByGroup

返回包含在组中的用户 ID 列表的方法

getUsersByGroup( groupId,  recursive = false) : mixed||string|int
静态

1.7.0

待办事项

此方法应移至其他位置

参数

groupId

int组 ID

recursive

bool递归包含所有子组(可选)

响应

array<string|int, mixed>

preload

为给定的资源类型预加载 Rules 对象的方法。

preload(int|string|array assetTypes = 'components',  reload = false) : 
静态

1.6

注意

此方法将在 4.0 中返回 void。

参数

assetTypes

int|string|array<string|int, mixed>资源的类型或名称(例如,'com_content.article'、'com_menus.menu.2')。还接受资源 ID。资源类型数组或特殊 'components' 字符串,用于加载所有组件资源。

reload

bool设置为 true 以从数据库重新加载。

响应

bool成功则为 true。

preloadComponents

为所有组件预加载 Rules 对象的方法。

preloadComponents() : mixed||string|int
静态

注意:这只会获取组件的基本权限。例如,它会获取 'com_content',但不会获取 'com_content.article.1' 或任何更具体的资源类型规则。

1.6

响应

array<string|int, mixed>已预加载的组件名称数组。

preloadPermissions

检索特定资源类型的资源规则字符串并将它们存储起来,以便稍后在 getAssetRules() 中使用的方法。

preloadPermissions( assetType,  reload = false) : 
静态

存储 2 个数组:一个数组的键为资源 ID,另一个数组的键为资源名称。

1.6

参数

assetType

string资源类型,或资源名称,或资源扩展名(例如,'com_content.article'、'com_menus.menu.2'、'com_contact')。

reload

bool重新加载已预加载的资源。

响应

void

属性

viewLevels

视图级别数组

静态

1.7.0

类型

array<string|int, mixed>

assetRules

资源规则数组

静态

1.7.0

类型

array<string|int, mixed>

assetRulesIdentities

资源规则标识数组

静态

1.7.0

类型

array<string|int, mixed>

assetPermissionsParentIdMapping

权限父 ID 映射数组

静态

1.7.0

类型

array<string|int, mixed>

preloadedAssetTypes

已预加载的资源类型数组

静态

1.7.0

类型

array<string|int, mixed>

identities

已加载的用户标识数组

静态

1.7.0

类型

array<string|int, mixed>

userGroups

用户组数组。

静态

1.7.0

类型

array<string|int, mixed>

userGroupPaths

用户组路径数组。

静态

1.7.0

类型

array<string|int, mixed>

groupsByUser

按用户缓存的组数组。

静态

1.7.0

类型

array<string|int, mixed>

preloadedAssets

已预加载的资源名称和 ID 数组(键为资源 ID)。

静态

3.7.0

类型

array<string|int, mixed>

rootAssetId

根资源 ID。

静态

3.7.0

类型

int