Play框架,Scala:按角色验证用户
发布时间:2020-12-16 18:47:00 所属栏目:安全 来源:网络整理
导读:我有用户角色:用户,经理,管理员.我需要在控制器(方法)中对它们进行身份验证.例如,只有管理员可以删除(现在看起来像这样,需要更改只有管理员才有权限): def deleteBook(id: Int) = DBAction { findById(id) match { case Some(entity) = { books.filter(_.i
我有用户角色:用户,经理,管理员.我需要在控制器(方法)中对它们进行身份验证.例如,只有管理员可以删除(现在看起来像这样,需要更改只有管理员才有权限):
def deleteBook(id: Int) = DBAction { findById(id) match { case Some(entity) => { books.filter(_.id === id).delete Ok("") } case None => Ok("") } } 我有很多控制器和方法.我需要在处理请求之前进行身份验证(例如删除书籍).我的路线文件包含: ... DELETE /books/:id @controllers.Book.deleteBook(id: Int) ... 有些路线只能由管理员和经理访问.有些适用于所有类型的用户. 我目前正在看deadbolt2scala授权模块. 你能推荐在playframework scala中验证多用户的最佳方法吗? 解决方法
我已经设法通过使用
https://github.com/t2v/stackable-controller提供的StackableControllers来实现这一点
基本上,我使用application.conf提供的基本访问控制列表.我首先检查我的请求中是否有用户.如果有,我可以检查他是否有足够的访问权限来执行操作. 这样的特征也可以使用BodyParser合成来实现.我从来没有这样做过,所以别人的建议对你来说可能更好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |