[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;

}

}

java 登陆拦截_登录拦截 - java代码库 - 云代码相关推荐

  1. java图书信息添加代码_图书 - java代码库 - 云代码

    [java]代码库package com.mahe; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt. ...

  2. 连连看java代码_连连看 - java代码库 - 云代码

    [java]代码库/* * To change this license header, choose License Headers in Project Properties. * To chan ...

  3. java代码雨_代码雨 - java代码库 - 云代码

    [java]代码库import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; ...

  4. java猜拳游戏代码_猜拳游戏 - java代码库 - 云代码

    [java]代码库public class Computer { String name; int score; public int showfist(){ int quan; quan=(int) ...

  5. java 挂机锁屏 源码_挂机界面 - java代码库 - 云代码

    [java]代码库//挂机 package com.view; import java.awt.Color; /** * 挂机界面 * @author Administrator * */ publi ...

  6. java秒表代码_秒表 - java代码库 - 云代码

    [java]代码库package Day0822; import java.awt.event.*; import javax.swing.*; import java.awt.*; public c ...

  7. ajax代码 java,AJAX - java代码库 - 云代码

    [java]代码库1.什么是AJAX AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). 2.ajax的特点:局部刷新 3.Aj ...

  8. python代码时钟_时钟 - python代码库 - 云代码

    [python]代码库from turtle import * from datetime import * def Skip(step): #建立表的外框 penup() forward(step) ...

  9. 用python画佩奇_画佩奇 - python代码库 - 云代码

    [python]代码库from turtle import* def nose(x,y):#鼻子 pu() goto(x,y) pd() seth(-30) begin_fill() a=0.4 fo ...

最新文章

  1. 搭建Harbor 2.x仓库 - docker私仓搭建
  2. 阿里云ARMS助力「叫叫阅读」解锁系统定位分析技能包
  3. 浅析几种常见算法(转载)
  4. JDK 7和JDK 8中大行读取速度较慢的原因
  5. mysql注册slave_创建slave库?spm=a2c4e.11155472的搜索结果-阿里云开发者社区
  6. String.valueOf() 和 toString的区别
  7. np.stack() | 数组堆叠
  8. 奶块1月25日服务器维护时间,奶块1月25更新公告 | 手游网游页游攻略大全
  9. 事务复制中的msrepl_ccs
  10. getchar吸收回车
  11. E45: ‘readonly‘ option is set (add ! to override)
  12. jQueryphotoClip-图片上传并裁剪
  13. php框架使用率排行榜2018,中国上网人数统计?2018互联网上网人数分布排名
  14. 对 VoIP 提供商的大规模 DDoS 攻击和模拟 DDoS 测试
  15. 关于Java为什么不推荐使用 import *导包这件小事
  16. 宏观与微观的一秒改变
  17. 通过Webhook接入钉钉群自定义机器人
  18. c语言整形如何正确使用除法,简单的C语言移位计算整形乘法和除法值
  19. 移动办公oa管理软件的五大选择要素有哪些?
  20. 股票入门——K线理论之二

热门文章

  1. SQL格式化流水号位数
  2. WebRTC下载及编译(二)
  3. Gstreamer应用g_signal_new/g_signal_connect/g_signal_emit总结(十二)
  4. Pulseaudio实用命令(二)
  5. 下载最新adb(platform-tools)
  6. 安防视频之web无插件播放视频
  7. ES6中的React生命周期详解
  8. 服务器64位还是32位系统好,云服务器64位还是32位
  9. html鼠标平滑滚动效果,JS特效代码 JS动态平滑滚动菜单效果
  10. python reduce函数filter_Python filter()及reduce()函数使用方法解析