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|SimpleXMLElement
XML 字符串或 XML 元素。- xpath
string
用于搜索字段的可选 xpath。
响应
bool|array<string|int, mixed>
如果发生错误则为 false,否则为可用操作列表。
getActionsFromFile
从文件返回可设置权限的操作列表的方法。
getActionsFromFile( file, xpath = "/access/section[@name='component']/") : bool|array
自 |
3.0.0 |
---|
参数
- file
string
XML 文件的路径。- 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