Jfinal 중복 로그인 질문
1623 단어 jfinal 중복 로그인
여기서 제가 먼저 제 생각을 말씀드리겠습니다.
먼저 페이지에 들어가면 어떤 컨트롤러의 index () 방법을 요청합니다. 이 코드는 제가 붙인 두 번째 코드입니다. index () 방법을 요청하기 전에 CheckTokenInterceptor에 들어갑니다.class, 이 방법에 들어가서 blogToken을 만들고 값을 페이지의 숨겨진 영역에 넣은 다음에 로그인 조작을 한다. 로그인할 때 blogToken의 값을 얻고true로 되돌아가고false로 돌아간 다음에 중복 로그인 문제를 확보하고 로그인 조작을 한다.
public class CheckTokenInterceptor implements Interceptor{
public void intercept(ActionInvocation ai) {
// token, token ,
ai.getController().createToken("blogToken");
ai.invoke();
}
}
@Before({CheckTokenInterceptor.class})
public void index(){
...//
render("/index.jsp");
}
/**
*
*/
public void login(){
boolean flag = this.validateToken("blogToken");// true, ,false
if(flag){
User user = getModel(User.class); // getModel()
String md5Pwd = MD5Encrypt.encode(user.getStr("pwd")); // md5
User uu = User.dao.checkLogin(user.getStr("account"),md5Pwd);
if(uu == null){
render("/index.jsp");
}else {
setSessionAttr("user", uu); // session
render("/index.jsp");//
}
}else{
forwardAction("/user");
}
}
여기서 중요한 점은 페이지에서
<input type="hidden" name="blogToken" value="${blogToken}" />