0

私は scala play フレームワークが初めてです。セッション値が見つからず、ユーザーがホームまたは他のページの URL を試行した場合、ログイン ページにリダイレクトしたいと考えています。私が何を望んでいるのか理解していただければ幸いです。scala play フレームワークで、ユーザーがアクセスしようとするとログインせずにホームページにエラーが表示される

4

4 に答える 4

0

play docs www.playframework.com/documentation/2.0.x/ScalaSecurityをご覧ください。Secured trait を使用して認可を実行する方法の例があります。

于 2013-10-08T13:38:31.637 に答える
0

私は解決策を得ましたが、それが正しいアプローチであるかどうかはわかりません。

def generalAccountSetting()=Action{
implicit request=>
  try{
    val result=User.getResult(session.get("userId").get)// this makes exception, if user not logged in.
  if(!result.isEmpty){
    Ok(html.general(result(0)))
  }
  else
    Ok(html.onError())
  }catch{
   case e:Exception=>
            println(e.toString)
            Redirect("/").withNewSession
  }

}//end generalAccountSetting

編集:5日後

より良い方法を得た

def generalAccountSetting() = Action { implicit request =>
try{
    session.get("userId").map{user=>
        val result=User.getResult(session.get("userId").get)// this makes exception, if user not logged in.
  if(!result.isEmpty){
Ok(html.general(result(0)))
}
else
Ok(html.onError())
    }.getOrElse{
        Redirect("/")
      }
}catch{
    case e=>
    Ok(html.onError())
}
 }//end generalAccountSetting
于 2013-10-15T04:31:53.013 に答える