java 登陆拦截_登录拦截 – java代码库 – 云代码

java 登陆拦截_登录拦截 – java代码库 – 云代码[java]代码库packagecom.app.common;importorg.apache.log4j.Logger;importcom.app.model.User;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionInvocation;importcom.opensym…

大家好,又见面了,我是你们的朋友全栈君。

[java]代码库package com.app.common;

import org.apache.log4j.Logger;

import com.app.model.User;

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionInvocation;

import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class PrivilegeInterceptor extends AbstractInterceptor{

/**

*

*/

private static final long serialVersionUID = 5851995979071627976L;

private static final Logger logger = Logger.getLogger(PrivilegeInterceptor.class);

@Override

public String intercept(ActionInvocation invocation) throws Exception {

logger.info(“PrivilegeInterceptor:Action方法拦截”);

//获取当前用户

User user = (User) ActionContext.getContext().getSession().get(“loginUser”);

//获取当前访问的URL,并去掉当前应用程序的前缀(也就是 namespaceName + actionName )

String namespace = invocation.getProxy().getNamespace();

String actionName = invocation.getProxy().getActionName();

logger.info(“namespace:” + namespace +” , “+”actionName:” + actionName);

String privilegeUrl = null;

if(namespace.endsWith(“/”)){

privilegeUrl = namespace + actionName;

}else{

privilegeUrl = namespace + “/” + actionName;

}

//要去掉开头的’/’

if(privilegeUrl.startsWith(“/”)){

privilegeUrl = privilegeUrl.substring(1);//从1开始截取

}

//String result = null;

//如果未登录用户

if(user==null){

//if(privilegeUrl.endsWith(“/login_index” + Constant.S2_ACTION_EXT)

//|| privilegeUrl.endsWith(“/login_login” + Constant.S2_ACTION_EXT )){

如果是正在使用登录功能,就放行

//result = invocation.invoke();

//}else{

//如果不是去登录,就转到登录页面

return “login”;

//}

}

//如果已经登录,就判断权限

else{

//if(user.hasPrivilegeByUrl(privilegeUrl)){

//如果有权限就放行

return invocation.invoke();

//}else{

//如果没有权限,返回无权限信息

//return “noPrivilegeError”;

//}

}

//return result;

}

}

694748ed64b9390909c0d88230893790.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146677.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号