使用 play2-auth 检查身份验证
Checking authentication with play2-auth
在下面的代码中,有一个 play2-auth 授权检查。在第一种方法中,它检查所需的权限是 NormalUser
,在第二种方法中,它检查 Administrator
.
在我的例子中,用户创建的角色可能更多(例如 Security Officer
)。是否可以让 StackAction 检查系统中动态创建的用户角色?
def detail(id: Int) = StackAction(AuthorityKey -> NormalUser) { implicit request =>
val title = "messages detail "
Ok(html.message.detail(title + id))
}
def write = StackAction(AuthorityKey -> Administrator) { implicit request =>
val title = "write message"
Ok(html.message.write(title))
}
您可以根据您的要求通过扩展角色来做到这一点。
对于你的情况,你可以这样做:
case object Security Officer extends Role
您可以在此处自述文件的 用法 部分中看到:
https://github.com/t2v/play2-auth
为了更好地基于动态角色的授权,您可能想看看门栓:
https://deadbolt-scala.readme.io/docs
您还应该了解如何实现基于 activity 的检查 而不是基于角色的授权:
希望这对您有所帮助:)
在下面的代码中,有一个 play2-auth 授权检查。在第一种方法中,它检查所需的权限是 NormalUser
,在第二种方法中,它检查 Administrator
.
在我的例子中,用户创建的角色可能更多(例如 Security Officer
)。是否可以让 StackAction 检查系统中动态创建的用户角色?
def detail(id: Int) = StackAction(AuthorityKey -> NormalUser) { implicit request =>
val title = "messages detail "
Ok(html.message.detail(title + id))
}
def write = StackAction(AuthorityKey -> Administrator) { implicit request =>
val title = "write message"
Ok(html.message.write(title))
}
您可以根据您的要求通过扩展角色来做到这一点。
对于你的情况,你可以这样做:
case object Security Officer extends Role
您可以在此处自述文件的 用法 部分中看到:
https://github.com/t2v/play2-auth
为了更好地基于动态角色的授权,您可能想看看门栓:
https://deadbolt-scala.readme.io/docs
您还应该了解如何实现基于 activity 的检查 而不是基于角色的授权:
希望这对您有所帮助:)