Scala 播放框架。如何检查用户是否经过身份验证?
我是playframework的新手,使用的是2.2.2版 我正在检查zentask示例,但是有人能告诉我如果用户登录或未登录,如何在视图中进行检查吗 在main.scala.html中,我有一个链接列表Scala 播放框架。如何检查用户是否经过身份验证?,scala,session,authentication,playframework-2.2,Scala,Session,Authentication,Playframework 2.2,我是playframework的新手,使用的是2.2.2版 我正在检查zentask示例,但是有人能告诉我如果用户登录或未登录,如何在视图中进行检查吗 在main.scala.html中,我有一个链接列表 <ul> <li><a href="@routes.Application.newBlogpost">New blogpost</a></li>
<ul>
<li><a href="@routes.Application.newBlogpost">New blogpost</a></li>
<li><a href="@routes.Authentication.login">Login</a></li>
<li><a href="@routes.Authentication.logout">Logout</a></li>
</ul>
我可以检查是否允许用户访问以创建新的博客帖子:
def newBlogpost = IsAuthenticated { username => _ =>
User.findByUsername(username).map { user =>
Ok(views.html.blogpost.item(blogpostForm))
}.getOrElse(Forbidden)
}
那么,在main.scala.html中,检查用户是否登录并在此基础上显示正确链接的最简单方法是什么?您可以将会话传递给您的html模板,并检查是否在那里定义了用户:
@()(implicit session: Session)
<ul>
@session.get("user").map { user =>
<li><a href="@routes.Application.newBlogpost">New blogpost</a></li>
<li><a href="@routes.Authentication.logout">Logout</a></li>
}.getOrElse{
<li><a href="@routes.Authentication.login">Login</a></li>
}
</ul>
@()(隐式会话:会话)
@session.get(“user”).map{user=>
}格托莱斯先生{
}
注意:您必须将操作中的请求标记为隐式。不适用于我,我正在使用play2auth库,希望为我的站点实现相同的功能@joonasj你能帮我吗(
@()(implicit session: Session)
<ul>
@session.get("user").map { user =>
<li><a href="@routes.Application.newBlogpost">New blogpost</a></li>
<li><a href="@routes.Authentication.logout">Logout</a></li>
}.getOrElse{
<li><a href="@routes.Authentication.login">Login</a></li>
}
</ul>