JSF2.0 中的会话无效
我正在使用 JSF2.0 和 jsp。我正在尝试将会话失效合并到我的项目中。我尝试使用以下代码。
<h:commandButton value="Logout" action="#{bean.logout}" </h:commandButton>
我的 bean 类包含以下方法
public class Bean{
public String logout(){
FacesContext context = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession)context.getExternalContext().getSession(false);
session.invalidate();
return "login";
}
}
,其中字符串登录重定向到登录页面。
我的项目有几个页面,其中包括标题页..当我尝试上述方式时...当我从第一页单击注销时,它工作正常...如果我在转到其他页面后尝试相同的操作页面,它没有注销。任何人都可以帮助我吗...这就是我们在这里使会话无效的方式吗???
更新
我还尝试在导航规则中使用“*”,以便每个页面都可以重定向到登录...但问题仍然相同
I'm using JSF2.0 with jsp.I'm trying to incorporate session invalidation in my project.I've tried using the following code.
<h:commandButton value="Logout" action="#{bean.logout}" </h:commandButton>
and my bean class contains the following method
public class Bean{
public String logout(){
FacesContext context = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession)context.getExternalContext().getSession(false);
session.invalidate();
return "login";
}
}
where string login redirects to login page.
my project has several pages which includes a header page..when i tried the above way...it was working fine when i click on logout from the very first page...If i try the same after going to other pages, its not logging out.Can anyone help me on this...is this the way we invalidate a session here???
UPDATE
I also tried using "*" in the navigation rule so that each page can be redirected to Login...but still the issue was same
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试
作为结果,以便浏览器不会对登录页面使用相同的请求,该页面的会话仍处于活动状态。
Try
as outcome so the browser does not use the same request for the login-page, which has the session still active.
您是否尝试过此操作 -
如果查看登录名位于根目录中。
否则,如果它位于其他文件夹中,则如下 -
注意结果开头的
/
。Did you try this -
If the view login is in the root directory.
Otherwise if it's in some other folder then as follows -
Notice
/
at the beginning of the outcome.使用
remoteCommand
标记,并在注销时使用 JavaScript 调用此remoteCommand
并在managementBean
中提供用于注销的实现,并且可以将实现粘贴到此处只需在此处输入代码
即可重定向到登录页面,或者您可以再次使用 JavaScript 重定向到登录页面。Use
remoteCommand
tag and on logout call thisremoteCommand
using JavaScript and provide the implementation inmanagedBean
for the logout and the implmentation is ok that you paste here just needenter code here
to redirct to login page, or you can use again JavaScript to redirect to login page.