访问控制,Scala中的权利,Play框架

时间:2014-04-28 21:20:11

标签: scala authentication playframework authorization entitlements

必须在当前项目中构建权利,访问控制模块,其中ACL在详细级别上进行,例如。

Role1 can view Page1 and add ALL the fields on Page1
Role2 can view page1 and can only view 4 fields on page1
Role3 can't view page1

那是授权。还有注册/身份验证要求。自定义注册将包含一些新用户将填写的字段,如果它已经是注册用户,则用户将使用登录页面。提到SecureSocial用于游戏框架,但它不灵活(至少要制作自定义注册表等)

过去(在处理Java项目时)使用crosslogix(我认为Oracle Entitlement Server是它的前身)来为每个角色,每个资源等布置详细的权利。是否有任何OSS替换或您推荐的其他库/框架在Scala,Play Framework土地?

2 个答案:

答案 0 :(得分:3)

SecureSocial可以选择提供自定义注册页面:

http://securesocial.ws/guide/views-customization.html

和Deadbolt 2处理它的授权部分:

https://github.com/schaloner/deadbolt-2

这里有一个使用Slick 2.0的示例应用程序:

https://github.com/lunatech-labs/lunatech-securesocial-poc

答案 1 :(得分:1)

考虑使用可扩展访问控制标记语言XACML。它定义了基于属性的策略语言,可以轻松实现此处列出的方案。

有几种可用的实现方式。您提到使用旧版XACML的OES。在OSS世界中,查看SunXACML,Heras AF,ForgeRock和WSO2。

在供应商领域,请查看Axiomatics(免责声明:这是我工作的公司)。

相关问题