0

既存のアクティベーター シード サンプルを利用して、サンプル シード プロジェクトを作成しました。

プロジェクトは基本的に、ロールベースの承認でユーザー/パスワード認証を行います。完全なソース コードはhttps://github.com/pariksheet/dribbleにあります。

テクノロジー:

  1. 2.5.3をプレイ
  2. プレイシルエット 4.0.0
  3. play2-reactivemongo 0.11.14
  4. プレイメーラー 5.0.5
  5. スカラ 2.11
  6. モンゴ3.2

このコードは完全に機能しますが、play/silhouette/mongo の最新機能を使用できません。それらを使用することにほとんど疑問はありません。

質問 1: シルエット

Module.scala で:

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

ここで、クレデンシャル プロバイダ オブジェクトを に渡す方法はSeq()? として、私は解決策を理解することができません。すべてのコントローラー クラスに資格情報プロバイダーを挿入しています。

質問 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 2.5 の Play Mailer プラグイン

質問 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>

  }

}

password1上記のフォームで、とpassword2が同じかどうかを確認する検証を追加したいと思います。

4

0 に答える 0