Сомнения ре. Игра 2.5 с силуэтом 4.0 начальный проект

Я создал образец семенного проекта с помощью существующих образцов семян активатора.

Проект в основном выполняет аутентификацию пользователя / пароля с авторизацией на основе ролей. Вы можете найти полный исходный код по адресу https://github.com/pariksheet/dribble.

технологии:

  1. Play 2.5.3
  2. play-silhouette 4.0.0
  3. play2-реактивный монго 0.11.14
  4. play-mailer 5.0.5
  5. Scala 2.11
  6. Монго 3.2

Хотя этот код работает отлично, я не могу использовать последние функции play/silhouette/mongo. У меня мало сомнений в их использовании.

Вопрос 1: силуэт

В Module.scala:

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

Здесь, как передать объект провайдера учетных данных в Seq()? Как, я не могу найти решение. Я внедряю провайдера учетных данных во все мои классы контроллеров.

Вопрос 2: ReactiveMongo:

В моем UserDao.scala я использую старый API Монго, чтобы получить объект коллекции:

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

Код выдает предупреждение:

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

Как использовать метод базы данных? Я вижу другую ветку Как настроить Play!2.5 с ReactiveMongo, но у нее нет решения.

Вопрос 3: почтовик

Я использую приведенную ниже конфигурацию для отправки электронной почты через приложение play:

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 с 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>

  }

}

В приведенной выше форме я хотел бы добавить проверку, которая проверит, password1 а также password2 одинаковы или нет.

0 ответов

Другие вопросы по тегам