📄 authorizationcheckadvice.java
字号:
package com.ssh.struts.security;
import java.lang.reflect.Method;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.springframework.aop.MethodBeforeAdvice;
/**
* 检查操作权限
* @author T.Xin.Jun
*
*/
public class AuthorizationCheckAdvice implements MethodBeforeAdvice {
@Override
public void before(Method method, Object[] args, Object target)
throws Throwable {
// TODO Auto-generated method stub
Action action = (Action)target;
HttpServletRequest request = null;
HttpServletResponse response = null;
String login = "/login.jsp";
System.out.println(args.length);
for(Object obj : args){
System.out.println(obj.getClass().getName());
System.out.println(obj);
}
System.out.println(method.getName());
System.out.println(target.getClass().getName());
for(Object obj : args){
if(obj instanceof HttpServletRequest){
request = (HttpServletRequest)obj;
}
if(obj instanceof HttpServletResponse){
response = (HttpServletResponse)obj;
}
}
HttpSession session = request.getSession(true);
String user = (String)session.getAttribute("user");
System.out.println(user);
if(user == null || "".equals(user)){
session.invalidate();
ActionMessages errors = new ActionMessages();
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.authorization.no"));
//.saveErrors(request, errors);
request.getRequestDispatcher(login).forward(request, response);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -