精华内容
下载资源
问答
  • ServiceImpl.java) public boolean loginForadministrator(Administrator administrator) { Administrator administrator1 = administrator_Mapper.loginForadministrator(administrator); if ...
  • //存入session HttpSession session = servletRequest.getSession(); session.setAttribute("userinfo",userinfo);
    //存入session
    HttpSession session = servletRequest.getSession();
    session.setAttribute("userinfo",userinfo);

     

    展开全文
  • 我使用的是ssm框架进行开发,当用户登录后在session域中存入该用户的信息,在客户端请求其他数据时通过拦截器判断sessionid对应的session域是否有该用户信息,如果有说明该用户已登录。 在开始解决重复问...

    在开发一个服务器时,两个用户同时请求信息时,可能会导致许多意想不到的问题,所以我们在服务器端必须控制时刻只有一个客户端处于登录状态,而且当其他客户端登陆时把已登录的客户端踢下线。

    我使用的是ssm框架进行开发,当用户登录后在session域中存入该用户的信息,在客户端请求其他数据时通过拦截器判断sessionid对应的session域是否有该用户信息,如果有说明该用户已登录。

    在开始解决重复问题时,我在application域中存入用户id对应sessionid,然后每当用户登录时,用session.getSessionContext().getSession()方法获取之前客户端存在服务器的session信息,然后调用invalidate()方法释放掉这个session对象,然后重新把用户id对应新的sessionid存到application域中。但是在测试时总是报错,查资料发现高版本的servlet已经不支持getSessionContext()的getSession()方法了,所以会报错。

    于是我写了一个登录管理器,其中包含一个map,map里放入userid对应session域。并在登陆管理器中写了增加登录标签,删除登录标签,查看登录标签的方法。

    在新的客户端登录我们可以通过用户id删除对应的登录标签,并释放掉其session对象,这样之前登录的客户端的sessionid就失效了(此处最好向该客户端发送提醒),当该客户端再请求数据时Spring拦截器就会发现它提供的sessionid对应的session域中并没有之前保存的用户信息,就会判定它未登录。

    之后再通过增加登录标签把userid对应新客户端的session对象存入登陆管理器的map中,把用户信息存入session对象中,这样就实现了把之前客户端踢下线的功能,保持只有一个客户端处于在线状态。

    public class loginManager {
    
    	private static HashMap mymap = new HashMap();
    
    	public static synchronized void AddLoginflag(String userid, HttpSession session) {
    		if (session != null && userid != null) {
    			mymap.put(userid, session);
    		}
    	}
    
    	public static synchronized void DelLoginflag(String userid) {
    		HttpSession session = (HttpSession) mymap.get(userid);
    		if (session != null) {
                //释放session对象,把该键值对从map中移除
    			session.invalidate();
    			mymap.remove(userid);
    		}
    	}
    
    	public static synchronized HttpSession getLoginflag(String userid) {
    		if (userid == null) {
    			return null;
    		}
    		return (HttpSession) mymap.get(userid);
    	}
    }
    

     

    展开全文
  • 明明已经把用户数据存入了httpsession中,但在后面的请求拦截中发现获取的session属性size为0断点发现登录用的session和拦截得到的session不是一个id,也就是说不是同一个session查资源得到解决办法java端import org...

    描述

    vue在做登录的时候,明明已经把用户数据存入了httpsession中,但在后面的请求拦截中发现获取的session属性size为0

    断点发现登录用的session和拦截得到的session不是一个id,也就是说不是同一个session

    查资源得到解决办法

    java端

    import org.springframework.stereotype.Component;

    import javax.servlet.*;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import java.io.IOException;

    @Component

    public class CorsFilter implements Filter {

    @Override

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)

    throws IOException, ServletException {

    HttpServletRequest req = (HttpServletRequest) request;

    HttpServletResponse resp = (HttpServletResponse) response;

    resp.addHeader("Access-Control-Allow-Credentials", "true");

    //允许前端跨域携带cookie axios.defaults.withCredentials = true;

    resp.addHeader("Access-Control-Allow-Origin", req.getHeader("origin"));

    resp.addHeader("Access-Control-Allow-Methods", "*");

    resp.addHeader("Access-Control-Allow-Headers", "Content-Type,token");

    //前端ajax请求OPTIONS直接放行,解决不能得到header里token问题

    if (req.getMethod().equals("OPTIONS")) {

    response.getWriter().println("ok");

    return;

    }

    chain.doFilter(request, response);

    }

    @Override

    public void destroy() {

    }

    @Override

    public void init(FilterConfig filterConfig) throws ServletException {

    }

    }

    vue端

    axios.defaults.withCredentials = true;// 允许跨域携带cookie

    展开全文
  • session做登录存储认证,电脑连接了手机wifi,PC端登录系统,localhost访问项目地址,登录成功,登录信息成功存入session里,可是在登录后页面跳转,做登录验证的时候获取session的时候就为空了。 进过调试,最后...

    今日份踩坑

    session做登录存储认证,电脑连接了手机wifi,PC端登录系统,localhost访问项目地址,登录成功,登录信息成功存入session里,可是在登录后页面跳转,做登录验证的时候获取session的时候就为空了。
    

      进过调试,最后解决,换成127.0.0.1即可

    展开全文
  • 在做 Web Application 时,因为 Web Project 有 session 自动失效的...查资料发现可行:用户登录时将帐号密码存入cookie,cookie可以存储1年至更久,当session失效被拦截时,在拦截器内读取cookie 中的用户名和密...
  • 一、后端通过shiro在session中存储数据:// username是前台传过来的用户名if (subject.isauthenticated()) {// 存入sessionusertoken.setval2session("username", username);return "登录成功";} else ...
  • 跳转登录页面,提示:用户名或密码错误如果验证码输入有误,跳转登录页面,提示:验证码错误如果全部输入正确,则跳转到主页success.jsp,显示:用户名,欢迎您思路在生成验证码的时候将它的值存入session中,...
  • 在做 Web Application 时,因为 Web Project 有 session 自动失效的问题,所以如何让... 查资料发现可行:用户登录时将帐号密码存入cookie,cookie可以存储1年至更久,当session失效被拦截时,在拦截器内读取cook...
  • 第2章 实现用户登录以及分布式session功能 1. 明文密码两次md5入库 分别使用签名如1a2b3c4d,分别用签名和密码使用MD5加密两次后(一次是最原始密码加密,一次是加密后再使用MD5和签名加密)才存入数据库,每个...
  • Session--验证码案例(Java) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 案例 用户输入用户名,密码以及验证码。 如果用户名和...
  • vue在做登录的时候,明明已经把用户数据存入了httpsession中,但在后面的请求拦截中发现获取的session属性size为0 断点发现登录用的session和拦截得到的session不是一个id,也就是说不是同一个session 查资源得到...
  • 单点登录SSO-使用session共享方式

    千次阅读 2017-11-12 16:48:13
    方法:将用户信息存入session中,实现session共享 第一种:对tomcat进行session复制 进行tomcat的session共享,配置tomcat集群,设置好session的过期时间,tomcat配置好集群后,会不停的向集群中的其他的tomcat...
  • java -rsa登录加密

    2020-07-03 10:35:06
    2、将私钥存入session中,将私钥传入前端页面 3、在前端页面通过公钥对需要进行加密的对象进行加密得到新的对象 4、将得到新对象传入后台,获取session中的私钥进行解密 jsp部分: <input type="hidden" id=...
  • 1.CheckCodeServlet:产生验证码图片输出,并将验证码内容存入session 2.LoginServlet:根据session和request中的数据。先判断验证码,再判断用户名是否正确。 上代码 Logindao package dao; import entity.User; ...
  • 浅谈 Java web 项目实现手机号登录

    千次阅读 2018-04-24 11:54:59
    手机号登录 则是需要根据手机号去判断验证码是否正确(我这里是将验证码存入ehcache缓存,然后对比用户输入的验证码),然后将手机号关联的用户查出来 存入session ,然后访问登录页的时候才不会被...
  • java实现单一登录(类似QQ登录)一、业务需求二、具体实现实现思路具体代码 ...2.用户登录成功时将用户信息及session存入sessionMap(同一浏览器session相同)。 3.定义一个全局拦截器Interceptor,拿当前session对象与
  • java同一用户登录问题

    2010-02-09 15:33:00
    上个月也有讨论这个问题的,有好多人都发表了意见,但也没有标准的答案我看到一个,:将SEssionID存入DB中,当你登录时,判断当前的SEssionID和DB里是不是同一个,如果不是,说明是第二人登录了,那就将DB里的SESSIONID注销...
  • 1Java项目中短信验证码登录流程详细步骤 1、构造手机验证码:使用random对象生成要求的随机数作为验证码,例如4位验证码:1000~9999...4、将手机号--验证码、操作时间存入Session中,作为后面验证使用; 5、接收用.
  • 用户自动登录使用过滤器来实现。 1.当用户勾选自动登录时,在登录的servlet...3.验证cookie,将正确获得的用户实体存入session bean,service和dao就不传了都一样的代码 login.jsp <%@ page language="java" conte
  • ShiroInterceptor.java

    2020-04-12 19:32:33
    适用于唯一登录 在拦截器中,每次登录拦截一下,登录的session 再把存入session的数据中取出来,之后与拦截器中登陆的账号进行比较,如果没有查出来的话,说明该用户已经在其他登陆了,把session 清空
  • 实现思路是编写过滤器,如果用户登录之后session中会存一个user。如果未登录就为null,就可以通过过滤器将用户重定向到登陆页面,让用户进行登陆,当然过滤器得判断用户访问的如果是登陆请求需要放行,如果不是就...
  • 用request.getParameter通过name得到输入框的内容4.session生命周期在整个会话期间,整个会话中都可以得到session中存放的信息,可以用于存放登录学生的学号,使每个页面都可以得到学号5.application生命周期在整...
  • 用户通过用户名和密码登陆成功之后,服务器端程序会在服务器端开辟一块Session内存空间并将用户的信息存入这块空间,同时服务器会在cookie中写入一个Session_id的值,这个值用于标识这个内存空间。下次用户再来访问...
  • VerificationCode.java(验证码生成并将其存入session,主要代码) ``` @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //...
  • 今天下午写了一个简单的学生管理系统来练习java web相关的知识,但是在loginServlet里面登录成功后,要把学生信息查询并且存储到session中 if(flag){ //查询所有的学生信息 stusDao stus = new stusDaoImpl();...
  • 登录和修改(JSP) 通过案例学习jsp的常用知识点: ...4.session生命周期在整个会话期间,整个会话中都可以得到session中存放的信息,可以用于存放登录学生的学号,使每个页面都可以得到学号 5....
  • 第16天的java项目上传方便以后下载,Controller代码:注意的是,当访问登录界面的时候就会自动加载验证码图片,同时把验证码值存入session中,当我们处理登录逻辑的时候是通过前端输入的验证码值和从session中存储的...
  • asp net mvc中Session丢失

    2015-08-06 09:03:42
    提供一个程序的访问地址给另外一个程序(java:主要实现登录的功能)访问并传参实现登录的功能,但是现在出现了一个问题,在IE9(某些电脑上)中Session出现丢失的情况(Session存入了值的),这是什么原因造成的...

空空如也

空空如也

1 2 3 4 5
收藏数 97
精华内容 38
关键字:

java登录存入session

java 订阅