daomethoddefinitionmapprovider.java
来自「一个关于tlms的一个小程序 看看能否帮助到别人」· Java 代码 · 共 62 行
JAVA
62 行
package com.szmx.component.security.acegipro.providers.dao;
import com.szmx.component.security.acegipro.permissiondetails.MethodPermissionDetailsService;
import com.szmx.component.security.acegipro.permissiondetails.MethodPermissionDetails;
import com.szmx.component.security.acegipro.intercept.method.OpenedMethodDefinitionMap;
import org.acegisecurity.intercept.method.MethodDefinitionMap;
import org.acegisecurity.ConfigAttributeDefinition;
import org.acegisecurity.ConfigAttributeEditor;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.util.Map;
import java.util.Iterator;
/**
* ================================================================
* Copyright 2006 szmx
* <p/>
* Change Revision
* ---------------------------------------------------------------
* Date Author Remarks
* Mar 13, 2006 bzhang Create class com.szmx.base.security.acegipro.providers.dao.DaoMethodDefinitionMapProvider
* ================================================================
*/
public class DaoMethodDefinitionMapProvider {
private static final Log logger = LogFactory.getLog(DaoMethodDefinitionMapProvider.class);
private MethodPermissionDetailsService methodPermissionDetailsService;
//~Setter ================================================================
public void setMethodPermissionDetailsService(MethodPermissionDetailsService methodPermissionDetailsService) {
this.methodPermissionDetailsService = methodPermissionDetailsService;
}
//~Method ===============================================================
/**
* Retrieve the DaoFilterInvocationDefinitionMap from Serivce.
* @return FilterInvocationDefinitionMap
*/
public MethodDefinitionMap getDaoMethodDefinitionMap() {
// must be opened MethodDefinitionMap, for using publicly lookupAttributes.
MethodDefinitionMap methodDefinitionMap = new OpenedMethodDefinitionMap();
Map methodPermsMap = methodPermissionDetailsService.loadMethodPermissionDetails();
Iterator methods = methodPermsMap.keySet().iterator();
while (methods.hasNext()) {
String method = (String) methods.next();
String roleNames = ((MethodPermissionDetails) methodPermsMap.get(method)).getRoleNames();
ConfigAttributeEditor configAttribEd = new ConfigAttributeEditor();
configAttribEd.setAsText(roleNames);
ConfigAttributeDefinition attrDef = (ConfigAttributeDefinition) configAttribEd.getValue();
methodDefinitionMap.addSecureMethod(method, attrDef);
}
logger.debug("Provided MethodDefinitionMap by Service =" + methodDefinitionMap);
return methodDefinitionMap;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?