当前位置: 技术问答>java相关
我是否可以中止另一个用户的Session(我有它的Session ID)
来源: 互联网 发布时间:2015-05-15
本文导语: 简单的说就是封杀一个非法用户Session。 | 封杀? 你使他的session无效可以满足要求吗? | 你可以根据用户的Session来判断是否合法,进而判断他有哪些权限,如果用户没有权限...
简单的说就是封杀一个非法用户Session。
|
封杀?
你使他的session无效可以满足要求吗?
你使他的session无效可以满足要求吗?
|
你可以根据用户的Session来判断是否合法,进而判断他有哪些权限,如果用户没有权限,那么out.close(),或者直接跳转到错误页面就是了。
只要用户访问你的页面,那么就会有默认的Session对象被创建。
只要用户访问你的页面,那么就会有默认的Session对象被创建。
|
我的理解,你的意思应该是类似于聊天室中把一个捣乱的人踢出去,是吧?
那么你不想让他进入A页面,只要在A页面开头处,检查他的ID是否合法,否则,就不让它进去就完了。
那么你不想让他进入A页面,只要在A页面开头处,检查他的ID是否合法,否则,就不让它进去就完了。
|
leonzhao(灯泡)
你可以这样做,给你举个例子
1 实现踢人的目的:
假如你有这个管理权限的话(你程序实现),你踢了人,可以用application保存用户是否被踢的状态,然后当每个用户刷新页面的时候进行判断是否被踢,假如被踢的话进行session.invalidate()就行了
2 判断是否正常退出的话,可以专门设置一个管理各个application的页面进行不断刷新判断每个用户上次发言时间(这要求在其他页面进行设置保存发言时间),假如一定时间没有发言即判断非法退出进行设置application无效就可以了,然后在其他页面对application进行判断进行相应的操作。关闭浏览器之后session自动消失,用不到进行设置它无效
你可以这样做,给你举个例子
1 实现踢人的目的:
假如你有这个管理权限的话(你程序实现),你踢了人,可以用application保存用户是否被踢的状态,然后当每个用户刷新页面的时候进行判断是否被踢,假如被踢的话进行session.invalidate()就行了
2 判断是否正常退出的话,可以专门设置一个管理各个application的页面进行不断刷新判断每个用户上次发言时间(这要求在其他页面进行设置保存发言时间),假如一定时间没有发言即判断非法退出进行设置application无效就可以了,然后在其他页面对application进行判断进行相应的操作。关闭浏览器之后session自动消失,用不到进行设置它无效
|
即使有五万个用户,他们登陆时你也得判断权限呀?然后可以将用户ID和他的权限写入Session,然后页面中可以根据Session的值来判断他们的权限
如果用户的权限会经常发生改变,那么没有办法每个页面打开时都要判断用户当前的权限是什么
如果用户的权限会经常发生改变,那么没有办法每个页面打开时都要判断用户当前的权限是什么