Сомнения ре. Игра 2.5 с силуэтом 4.0 начальный проект
Я создал образец семенного проекта с помощью существующих образцов семян активатора.
Проект в основном выполняет аутентификацию пользователя / пароля с авторизацией на основе ролей. Вы можете найти полный исходный код по адресу https://github.com/pariksheet/dribble.
технологии:
- Play 2.5.3
- play-silhouette 4.0.0
- play2-реактивный монго 0.11.14
- play-mailer 5.0.5
- Scala 2.11
- Монго 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
одинаковы или нет.