⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 authorizationcontrolaction.java

📁 利用STRUTS2+SPRING+HIBERNATE/IBATIS建立的基本开发框架
💻 JAVA
字号:
/**
 * 
 */
package com.sunwah.baseapp.action;

import java.util.List;
import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.interceptor.SessionAware;

import com.opensymphony.xwork2.ActionSupport;
import com.sunwah.baseapp.common.Constants;
import com.sunwah.baseapp.system.vo.UserVO;

/**
 * 页面资源权限控制类
 * 
 * @author MARK
 * 
 */
public class AuthorizationControlAction extends ActionSupport implements
		SessionAware {
	/**
	 * 
	 */
	private static final long serialVersionUID = -5171547353110102755L;
	
	protected final Log log = LogFactory.getLog(getClass());

	// 会话
	private Map session;

	// 查询
	private boolean listFlag = false;
	// 查看
	private boolean viewFlag = false;
	// 增加
	private boolean addFlag = false;
	// 修改
	private boolean editFlag = false;
	// 删除
	private boolean deleteFlag = false;
	// 扩展1
	private boolean extFlag1 = false;
	// 扩展2
	private boolean extFlag2 = false;

	/**
	 * 增删改查校验
	 * 
	 * @param listAction
	 * @param viewAction
	 * @param addAction
	 * @param editAction
	 * @param deleteAction
	 */
	public void check(String listAction, String viewAction, String addAction,
			String editAction, String deleteAction) {
		UserVO user = (UserVO) session.get(Constants.SESSION_USER);
		List resourceList = user.getResourceList();
		listFlag = this.check(listAction, resourceList);
		viewFlag = this.check(viewAction, resourceList);
		addFlag = this.check(addAction, resourceList);
		editFlag = this.check(editAction, resourceList);
		deleteFlag = this.check(deleteAction, resourceList);
	}

	/**
	 * 增删改查+两个扩展校验
	 * 
	 * @param listAction
	 * @param viewAction
	 * @param addAction
	 * @param editAction
	 * @param deleteAction
	 * @param extAction1
	 * @param extAction2
	 */
	public void check(String listAction, String viewAction, String addAction,
			String editAction, String deleteAction, String extAction1,
			String extAction2) {
		this.check(listAction, viewAction, addAction, editAction, deleteAction);
		extFlag1 = this.check(extAction1);
		extFlag2 = this.check(extAction2);
	}

	private boolean check(String resourceAction, List resourceList) {
		return (resourceAction != null && resourceList.contains(resourceAction)) ? true
				: false;
	}

	/**
	 * 单个资源权限校验
	 * 
	 * @param resourceAction
	 * @return
	 */
	public boolean check(String resourceAction) {
		UserVO user = (UserVO) session.get(Constants.SESSION_USER);
		List resourceList = user.getResourceList();
		return (resourceAction != null && resourceList.contains(resourceAction)) ? true
				: false;
	}

	/**
	 * 获取保存在SESSION的USER信息
	 * 
	 * @return
	 */
	protected UserVO getSessionUser() {
		return (UserVO) session.get(Constants.SESSION_USER);
	}

	public boolean isExtFlag2() {
		return extFlag2;
	}

	public boolean isExtFlag1() {
		return extFlag1;
	}

	public boolean isListFlag() {
		return listFlag;
	}

	public boolean isAddFlag() {
		return addFlag;
	}

	public boolean isViewFlag() {
		return viewFlag;
	}

	public boolean isDeleteFlag() {
		return deleteFlag;
	}

	public boolean isEditFlag() {
		return editFlag;
	}

	public void setSession(Map session) {
		this.session = session;
	}

	public Map getSession() {
		return session;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -