回送的新手,我对回送的访问令牌系统感到困惑...
我从基本用户模型扩展了几个模型。
当我使用默认路由登录到每个用户(管理员,用户,所有者)时,我得到一个access_token。
登录时,回送是否通过 rolemapping 自动将 access_token 映射到$ authenticated role ?
我该怎么做,以便将登录时获得的access_token映射为“管理员”角色?
此外,在RoleMapping模型的上下文中“ principalId”到底是什么?
谢谢。
答案 0 :(得分:0)
模型AccessToken
和模型RoleMapping
都存储对模型User
(或其扩展模型)的引用。
访问令牌只是当前登录用户的参考,它不包含有关用户角色的任何信息。您没有将访问令牌与角色相关联,而环回也无法为您做到这一点。
实际上,您可以在模型内部创建ACL策略,以根据用户角色指定用户何时可以访问资源。这是管理员角色用法的典型示例:
// table Role
id: 1
name: admin
description: Administrators have full read/write access to the content
// table User
id: 1
...
// Add this record to the table RoleMapping if you want to give the role admin to the above user
id: [auto-incremental]
principalType: "USER"
principalId: 1
roleId: 1
// ACL example: only admins can access the model
"acls": [
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY"
},
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "admin",
"permission": "ALLOW"
}
]
principalType
引用资源,principalId
引用特定的资源对象。这是引用不同资源对象的常用方法。