📄 logininterceptor.java
字号:
package com.olr.util;
import java.util.Map;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import com.olr.beans.User;
import com.olr.dao.UserDAO;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class LoginInterceptor extends AbstractInterceptor{
private UserDAO userDao;
@Override
public String intercept(ActionInvocation invocation) throws Exception {
ActionContext actionContext=invocation.getInvocationContext();
HttpServletRequest request=(HttpServletRequest) actionContext.get("StrutsStatics.HTTP_REQUEST");
Map session = actionContext.getSession();
if(session!=null&&session.get("username")!=null){
return invocation.invoke();
}
if(request==null){
setGoingToURL(session, invocation);
return "requireLogin";
}
Cookie[] cookies = request.getCookies();
if (cookies!=null) {
for(Cookie cookie:cookies){
if(Constants.COOKIE_REMEMBERME_KEY.equals(cookie.getName())){
String value=cookie.getValue();
if(value!=null&&!value.equals("")){
String[] split=value.split(":");
String username=split[0];
String password=split[1];
int power=Integer.parseInt(split[2]);
if(userDao.isValid(username, password, power)){
session.put(Constants.USER_SESSION_KEY, username);
}
session.put(Constants.USER_SESSION_KEY, null);
}else{
setGoingToURL(session, invocation);
return "requireLogin";
}
}
return invocation.invoke();
}
}
setGoingToURL(session, invocation);
return "requireLogin";
}
private void setGoingToURL(Map session, ActionInvocation invocation) {
String url = "";
String namespace = invocation.getProxy().getNamespace();
if (namespace!=null&&!namespace.equals("") && !namespace.equals("/")){
url = url + namespace;
}
String actionName = invocation.getProxy().getActionName();
if (!actionName.equals("")&&actionName!=null){
url = url + "/" + actionName ;
}
String methodName=invocation.getProxy().getMethod();
if (!methodName.equals("")&&methodName!=null){
url = url + "!" + methodName + ".do";
}
session.put(Constants.GOING_TO_URL_KEY, url);
}
public UserDAO getUserDao() {
return userDao;
}
public void setUserDao(UserDAO userDao) {
this.userDao = userDao;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -