如何实现一个帐号不能多个用户同时登录?

如何实现一个帐号不能多个用户同时登录?
龙哥35924675910
浏览 4962回答 3
3回答

voipman

使用SSO单点登录;登录后使用服务端的session保存登录的session;登录时检查session是否存在,如果存在,表示已经有人登录,做登录拒绝;如果登录时,session不存在,保存session;退出时,删除session;将session的ID信息保存到cookie中,登录时,携带上来。

weenhall

百度一下sso单点登录,也可以在登录的时候判断session中是否包含当前用户,如果存在则提示已经登录

慕粉4153633

用数据库链接池实现呀!配置文件:1、创建数据库Student,表student2、配置server.xml文件。Tomcat安装目录下conf中server.xml文件。<GlobalNamingResources>    <Resource       name="jdbc/DBPool"       type="javax.sql.DataSource"        password=""        driverClassName="com.mysql.jdbc.Driver"        maxIdle="2"        maxWait="5000"        username="root"        url="jdbc:mysql://localhost:3306/student"        maxActive="3"    /></GlobalNamingResources>name:指定连接池的名称type:指定连接池的类,他负责连接池的事务处理url:指定要连接的数据库driverClassName:指定连接数据库使用的驱动程序username:数据库用户名password:数据库密码maxWait:指定最大建立连接等待时间,如果超过此时间将接到异常maxIdle:指定连接池中连接的最大空闲数maxActive:指定连接池最大连接数3、配置web.xml文件。<web-app>  <resource-ref>     <description>mysql数据库连接池配置</description>     <res-ref-name>jdbc/DBPool</res-ref-name>     <res-type>javax.sql.DataSource</res-type>     <res-auth>Container</res-auth>     <res-sharing-scope>Shareable</res-sharing-scope>  </resource-ref></web-app>4、配置context.xml文件与server.xml文件所在的位置相同。<Context>    <ResourceLink       name="jdbc/DBPool"       type="javax.sql.DataSource"       global="jdbc/DBPool"    /></Context>5、测试DataSource pool = null;Context env = null;Connection conn = null;Statement st = null;ResultSet rs  = null;try{    env = (Context)new InitialContext().lookup("java:comp/env");    //检索指定的对象,返回此上下文的一个新实例    pool = (DataSource)env.lookup("jdbc/DBPool");    //获得数据库连接池    if(pool==null){out.printl("找不到指定的连接池!");}    con = pool.getConnection();    st = con.createStatement();    rs = st.executeQuery("select * from student");}catch(Exception ex){out.printl(ne.toString());}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java