在scala的play 2中的Book App示例之后,我现在有一个基本的工作应用程序。 我现在想要的是添加一些功能,如
用户注册
访问某些页面的用户身份验证
在scala中玩这个游戏的最佳方法是什么?我应该自己管理吗?有插件吗?
答案 0 :(得分:10)
注意:我是Silhouette的维护者。
我可以建议你Silhouette这是Secure Social的核心唯一分支,旨在构建一个更可定制,无阻塞且经过良好测试的实现。
对于第一个稳定版本,只有两个必须解决的未解决问题。而这些问题只是未来的要求。计划中没有API更改。必须改进文档并启动sample application。单元测试也是一个很好的起点。
如果您计划遵循Secure Social所述的身份验证流程,请坚持下去。它存在两年多以来,并且经过许多公司的良好测试。否则看看Silhouette。
答案 1 :(得分:3)
您有两种选择:
安全社交(http://securesocial.ws/)
但它具有不寻常的注册流程,用户必须首先输入您的电子邮件,并接收注册表单的链接。
但是,有一个拉取请求可以解决此问题(https://github.com/jaliss/securesocial/pull/260)
播放验证
它不支持Scala开箱即用。但是我在这里创建了一个解决方法:https://github.com/joscha/play-authenticate/issues/92
它们都要求您将接口层写入数据库。两者的一个重要缺点是,您无法使用Reactive Mongo等反应式数据库驱动程序。他们假设你会立即返回结果,而不是结果的未来。
答案 2 :(得分:2)
有一个securesocial插件(http://securesocial.ws)。涵盖了最常见的身份验证方法,有注册内容。我发现它非常有用。 缺点是它的文档。如果你想做一些与最简单的场景有所不同的事情 - 准备阅读源代码。