package com.whyc.service;
|
|
import com.whyc.dto.Response;
|
import com.whyc.pojo.DocUser;
|
import org.apache.shiro.SecurityUtils;
|
import org.apache.shiro.subject.Subject;
|
import org.springframework.stereotype.Service;
|
|
import javax.servlet.http.HttpSession;
|
|
@Service
|
public class LoginService {
|
|
public Response checkUserWebSocket(HttpSession httpSession){
|
Response model = new Response();
|
try {
|
DocUser user = (DocUser) httpSession.getAttribute("user");
|
//System.out.println("webSocket:"+user);
|
if(user!=null){
|
String sessionId = (String) httpSession.getServletContext().getAttribute(user.getName());
|
if(httpSession.getId().equals(sessionId)){
|
model.set(1,user,null);
|
}else{
|
model.set(1,false,"不同主机登录");
|
//用户在其他主机登录,强迫用户在本机的session失效
|
httpSession.invalidate();
|
}
|
}
|
else {
|
model.set(1,false,"用户信息失效,请重新登录");
|
}
|
|
}catch (Exception e){
|
model.set(1,false,"登录信息失效,重新登录");
|
}
|
return model;
|
}
|
|
public void logout() {
|
Subject subject = SecurityUtils.getSubject();
|
subject.logout();
|
}
|
}
|