- 论坛徽章:
- 0
|
javaee 限制登录
public class LoginSessionListener- implements HttpSessionAttributeListener{
- private static final String MEMBER="member";
- Map<String,HttpSession> map = new HashMap<String,HttpSession>();
- @Override
- public void attributeAdded(HttpSessionBindingEvent event) {
- if(event.getName().equals(MEMBER)){
- Member member=(Member) event.getValue();//获取当前会员
- HttpSession session = map.get(member.getId());//获取已经登录的session
- if (session!=null) {//判断是否已经登录
- session.removeAttribute(MEMBER);//移除已经登录的会员
- //给出提示信息
- }
- map.put(member.getId(),event.getSession());//保存当前会员的session 到 map
- }
- }
- @Override
- public void attributeRemoved(HttpSessionBindingEvent event) {//当session失效时 从map中移除登录的session
- if(event.getName().equals(MEMBER)){
- Member member=(Member) event.getValue();
- map.remove(member.getId());
- }
- }
-
- @Override
- public void attributeReplaced(HttpSessionBindingEvent event) {
-
- //重置 session 时 实现类似于 attributeAdded
- }
-
- }
复制代码 |
|