我想在Play应用程序中支持用户身份验证。它是Web App,我认为内置的“Secure”模块对我的需求来说太简单了。实际上,用户组讨论了Secure模块如何真正用于演示purproses。但是,我该如何开发这样一个系统?
基本上,应用程序将允许用户登录,然后他们将在整个应用程序中应用自己的设置等。有些页面可供未经身份验证的用户查看,但如果客户端已通过身份验证,则这些页面的视图将不同。非常简单的设置,但大多数文档仅涉及简单的安全模块。
答案 0 :(得分:4)
如果您唯一的特殊要求是公开显示某些页面,我会得到您的回答:Play framework: How to require login for some actions, but not all。我刚刚复制了安全模块,并做了一些小的补充。
答案 1 :(得分:2)
您可以使用PlayPlugins。我开始编写一个以强大的方式启用安全性的插件。这是从BasisSecurity for Grails的迁移。目前我没有时间进一步发展。您可以在此处查看当前状态https://code.launchpad.net/~opensource21/+junk/permsec。
答案 2 :(得分:2)
根据您的要求,当前的身份验证模块似乎已经足够了如果没有,我为我的项目所做的是:
我没有把代码放在这里的代码,但总的来说我是:
修改了安全控制器中的检查方法,因此它使用用户的标志检查注释的值。像(伪代码)
的东西var ok:Boolean = false ok = ok || (annotation.value ==“admin”&& currentUser.isadmin) ok = ok || (annotation.value ==“supervisor”&& currentUser.issupervisor) ...
有了这个我有一个安全的系统,它似乎工作得很好(手指交叉:P)
答案 3 :(得分:1)
不知道它是否可以帮助你,但是看一下deadbolt模块来管理对视图/控制器的访问权限...
http://www.playframework.org/modules/deadbolt-1.0/home