1

私はアプリを開発していますが、すべてがローカルで正常に機能していました。しかし、(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)
4

2 に答える 2

1

@mz のおかげで問題を解決できました。解決策は確かにcookieSecureOption=true.

実際、キャッシュは後で問題になる可能性があります。しかし、今のところ機能しています。明確にしていただきありがとうございます。

于 2014-12-24T09:14:22.720 に答える