securitycheckerimpl.java

来自「动态实现基于角色的权限管理Acegi+hibernate」· Java 代码 · 共 44 行

JAVA
44
字号
package sample.auth;

import java.util.Collection;

import org.hibernate.Hibernate;

import sample.dao.IBaseDao;
import sample.mappings.function.Function;

public class SecurityCheckerImpl implements SecurityChecker {

	
	protected IBaseDao baseDao; 
	
	/**
	 * secureObjectName , 受保护的方法
	 * Function 返回唯一的Function对象
	 */
	public Function getSecureFunction(String secureObjectName) {
		Function function = (Function)baseDao.loadByKey(Function.class,"protectfunction",secureObjectName);
		Hibernate.initialize(function);
		Hibernate.initialize(function.getRoles());
		return function;
	}

	/**
	 * 根据Function对象找出Role对象
	 *
	 */
	public Collection getSecureObjectRoles(Function secureObject) {
	     Hibernate.initialize(secureObject);
		return secureObject.getRoles();
	}

	public IBaseDao getBaseDao() {
		return baseDao;
	}

	public void setBaseDao(IBaseDao baseDao) {
		this.baseDao = baseDao;
	}

}

⌨️ 快捷键说明

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