怀疑重新。使用Silhouette 4.0种子项目播放2.5

时间:2016-08-28 20:48:36

标签: playframework playframework-2.0 mailer reactivemongo silhouette

我在现有的活化剂种子样本的帮助下创建了样本种子项目。

Project基本上使用基于角色的授权进行用户/密码验证。您可以在https://github.com/pariksheet/dribble找到完整的源代码。

技术:

  1. 播放2.5.3
  2. play-silhouette 4.0.0
  3. play2-reactivemongo 0.11.14
  4. play-mailer 5.0.5
  5. Scala 2.11
  6. Mongo 3.2
  7. 虽然这段代码完美无缺,但我无法使用play / silhouette / mongo的最新功能。我对使用它们几乎没有怀疑。

    问题1:剪影

    在Module.scala中:

    Environment[JWTEnv](
      identityService,
      authenticatorService,
      Seq(),
      eventBus
    )
    

    在这里,如何在Seq()中传递凭据提供程序对象?因为,我无法弄清楚解决方案。我在我的所有控制器类中注入了Credential Provider。

    问题2:ReactiveMongo:

    在我的UserDao.scala中,我使用旧的mongo api来获取集合对象:

    val users = reactiveMongoApi.db.collection[JSONCollection]("users")
    

    代码抛出警告:

    method db in trait ReactiveMongoApi is deprecated: Use [[database]]
    

    如何使用数据库方法?我可以看到另一个线程 How to setup Play!2.5 with ReactiveMongo,但它没有解决方案。

    问题3:邮件程序

    我使用下面的配置通过播放应用发送电子邮件:

    smtp.mock=false
    smtp {
            host="smtp.mail.yahoo.com"
            port="465"
            ssl=true
            user="pari.test@yahoo.com"
            password="XXXXXXXXXXX"
            from="pari.test@yahoo.com"
    }
    

    代码一切正常。但是,我收到了警告:

      

    不推荐使用smtp,请改用play.mailer。

    当我使用play.mailer配置代码失败时。 Play Mailer plugin with Play 2.5

    问题4:表格

    如何以游戏形式添加验证?

    @(tokenId: String, form: Form[ResetPassword])(implicit messages: play.api.i18n.Messages, request: RequestHeader)
    @main("Reset Password") {
      @helper.form(routes.Application.handleResetPassword(tokenId)) {
    
        @helper.inputText(form("password1"))
    
        @helper.inputText(form("password2"))
    
        <button type="submit">Submit</button>
    
      }
    
    }
    

    在上面的表单中,我想添加验证,检查password1password2是否相同。

0 个答案:

没有答案