首页 > 代码库 > Jfinal重复登录问题
Jfinal重复登录问题
为了防止重复登录问题,这里写了个例子
这里我先说一下我的思路:
首先进入页面会请求某个控制器的index()方法,这段代码就是我粘贴的第二段代码,在请求index()方法之前会进CheckTokenInterceptor.class,进入这个方法创建blogToken,然后把值放入页面的隐藏域里,随后进行登录操作,登录时会取blogToken的值,取到返回true,反之返回false,然后就确保重复登录问题,进行登录操作。
public class CheckTokenInterceptor implements Interceptor{ public void intercept(ActionInvocation ai) { //创建token,这里是一进页面会获得token的一个值,刷新页面值会变化 ai.getController().createToken("blogToken"); ai.invoke(); } }
@Before({CheckTokenInterceptor.class}) public void index(){ ...//这里是第一次进页面出现的一些方法 render("/index.jsp"); } /** * 前台登录 */ public void login(){ boolean flag = this.validateToken("blogToken");//如果验证是true,则表示第一次登录,false表示重复登陆 if(flag){ User user = getModel(User.class); //把前台需要的值根据getModel()放入一个实体中 String md5Pwd = MD5Encrypt.encode(user.getStr("pwd")); //转换成md5加密格式 User uu = User.dao.checkLogin(user.getStr("account"),md5Pwd); if(uu == null){ render("/index.jsp"); }else { setSessionAttr("user", uu); //往session中赋值 render("/index.jsp");//重定向 } }else{ forwardAction("/user"); } }
这里很重要的一点,页面上
<input type="hidden" name="blogToken" value="http://www.mamicode.com/${blogToken}" />
Jfinal重复登录问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。