私はアプリを開発していますが、すべてがローカルで正常に機能していました。しかし、(Jelastic を使用して) PaaS にプッシュしようとすると、使用している認証モジュール (t2v/play2-auth) が機能しなくなったようです。理由がまったくわからず、説明が欲しいです。PaaS を使用するのは初めてで、まだすべてを取得できていないと思います。
詳細: ログインしようとすると、ログインが機能しているように見え、/home にリダイレクトされますが、何らかの理由で自動的にログイン ページにリダイレクトされます。ユーザーが実際に認証されていないためと思われます。何故ですか?
POST http://app/login [HTTP/1.1 303 See Other 3624ms]
GET http://app/home [HTTP/1.1 303 See Other 53ms]
GET http://app/login [HTTP/1.1 200 OK 107ms]
事前の情報やアイデアに感謝します。
編集: これが私の AuthConfig 特性です:
type Id = Long
type User = AccessUser
type Authority = Int
val idTag: ClassTag[Id] = classTag[Id]
val sessionTimeoutInSeconds: Int = 3600
def resolveUser(id: Id)(implicit ctx: ExecutionContext): Future[Option[User]] = Future(AccessProvider.find(id))
def goHome: Future[Result] = Future(Redirect(controllers.users.routes.UserSpaceController.home(0)))
def loginSucceeded(request: RequestHeader)(implicit ctx: ExecutionContext): Future[Result] = {
val uri = request.session.get("access_uri").getOrElse(controllers.users.routes.UserSpaceController.home(0).url.toString)
Future.successful(Redirect(uri).withSession(request.session - "access_uri"))
}
def logoutSucceeded(request: RequestHeader)(implicit ctx: ExecutionContext): Future[Result] =
Future.successful(Redirect(controllers.routes.PublicController.index))
def authenticationFailed(request: RequestHeader)(implicit ctx: ExecutionContext): Future[Result] =
Future.successful(Redirect(controllers.users.routes.SecurityController.login).withSession("access_uri" -> request.uri))
def authorizationFailed(request: RequestHeader)(implicit ctx: ExecutionContext): Future[Result] =
Future.successful(Forbidden("no permission"))
def authorize(user: User, authority: Authority)(implicit ctx: ExecutionContext): Future[Boolean] = Future.successful {
(user.permission, authority) match {
some cases
}
}
override lazy val cookieSecureOption: Boolean = play.api.Play.isProd(play.api.Play.current)