【问题标题】:play framework app authentication, user managementplay框架app鉴权、用户管理
【发布时间】:2014-06-21 14:40:27
【问题描述】:

按照 scala 的 play 2 中的 Book App 示例,我现在有了一个基本的工作应用程序。 我现在想要的是添加一些功能,例如

  • 用户注册

  • 访问某些页面的用户身份验证

对于 scala 来说,最好的方法是什么?我应该自己管理吗?有那个插件吗?

【问题讨论】:

    标签: scala playframework playframework-2.0 playframework-2.1


    【解决方案1】:

    注意:我是 Silhouette 的维护者。

    我可以建议您Silhouette,它是 Secure Social 的一个核心分支,旨在构建一个更可定制、无阻塞且经过良好测试的实现。

    对于第一个稳定版本,只有两个未解决的问题需要解决。这些问题只是未来的要求。没有计划更改 API。必须改进文档并启动sample application。单元测试也是一个很好的起点。

    如果您打算遵循 Secure Social 所述的身份验证流程,请坚持下去。它已经存在两年多,并且经过了许多公司的良好测试。否则看看剪影。

    【讨论】:

    • SecureSocial 注册流程一样吗?
    • Silhouette 没有自己的身份验证流程。想想没有 GUI 的安全社交。
    • 示例应用程序链接已损坏
    • @jwill Cloudbees 使免费帐户中的应用程序休眠。如果您稍等片刻,应用程序就会唤醒,您可以对其进行测试。
    • Silhouette 是否提供 Java API?
    【解决方案2】:

    你有两个选择:

    1. 安全社交 (http://securesocial.ws/)
      但它有不寻常的注册流程,用户必须先输入您的电子邮件,然后接收到注册表单的链接。 但是,有一个拉取请求可以解决这个问题 (https://github.com/jaliss/securesocial/pull/260)

    2. 播放验证
      它不支持开箱即用的 Scala。但是我在这里创建了一个解决方法:https://github.com/joscha/play-authenticate/issues/92

    它们都需要您将接口层写入数据库。它们的一个重要缺点是,您将无法使用像 Reactive Mongo 这样的响应式数据库驱动程序。他们假设您将立即返回结果,而不是结果的 Future。

    【讨论】:

    • 感谢 Radian 的建议。我看到了许多关于securesocial的答案。我会尝试一下,看看是否可以将它用于我的应用程序。
    • Play-authenticate 似乎不直接支持 scala 项目,并且安全社交不支持 play 2.4.x(目前):github.com/jaliss/securesocial/issues/556
    【解决方案3】:

    有一个安全社交插件 (http://securesocial.ws)。涵盖最常见的身份验证方法,具有注册内容。我发现它非常有用。 缺点是它的文档。如果你想做一些与最简单的场景不同的事情 - 准备好通读源代码。

    【讨论】:

    • +Mike 感谢您引用securesocial。您知道使用它的示例公共应用程序吗?
    • @Lahniep 您需要源代码吗?你可以看看我的简单待办事项应用程序github.com/mikegirkin/papersheet
    • 我会试一试,看看我是否可以在基本应用程序上使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    • 2011-11-21
    • 1970-01-01
    相关资源
    最近更新 更多