daofilterinvocationdefinitionmapprovider.java

来自「一个关于tlms的一个小程序 看看能否帮助到别人」· Java 代码 · 共 59 行

JAVA
59
字号
package com.szmx.component.security.acegipro.providers.dao;

import com.szmx.component.security.acegipro.permissiondetails.UrlPermissionDetailsService;
import com.szmx.component.security.acegipro.permissiondetails.UrlPermissionDetails;

import java.util.Map;
import java.util.Iterator;

import org.acegisecurity.ConfigAttributeEditor;
import org.acegisecurity.ConfigAttributeDefinition;
import org.acegisecurity.intercept.web.FilterInvocationDefinitionMap;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * ================================================================
 * Copyright 2006 szmx
 * <p/>
 * Change Revision
 * ---------------------------------------------------------------
 * Date             Author            Remarks
 * Mar 13, 2006     bzhang      Create class com.szmx.base.security.acegipro.providers.dao.DaoFilterInvocationDefinitionMapProvider
 * ================================================================
 */
public class DaoFilterInvocationDefinitionMapProvider {
    private static final Log logger = LogFactory.getLog(DaoFilterInvocationDefinitionMapProvider.class);
    private UrlPermissionDetailsService urlPermissionDetailsService;

    //~Setter ================================================================
    public void setUrlPermissionDetailsService(UrlPermissionDetailsService urlPermissionDetailsService) {
        this.urlPermissionDetailsService = urlPermissionDetailsService;
    }

    //~Method ===============================================================

    /**
     * Retrieve the DaoFilterInvocationDefinitionMap from Serivce.
     * @param definitionSource (prepare instance for addSecureUrl(...) )
     * @return FilterInvocationDefinitionMap
     */
    public FilterInvocationDefinitionMap getDaoFilterInvocationDefinitionMap(FilterInvocationDefinitionMap definitionSource) {
        Map urlPermsMap = urlPermissionDetailsService.loadUrlPermissionDetails();
        Iterator urls = urlPermsMap.keySet().iterator();
        while (urls.hasNext()) {
            String urlPath = (String) urls.next();
            String roleNames = ((UrlPermissionDetails) urlPermsMap.get(urlPath)).getRoleNames();

            ConfigAttributeEditor configAttribEd = new ConfigAttributeEditor();
            configAttribEd.setAsText(roleNames);
            ConfigAttributeDefinition attrDef = (ConfigAttributeDefinition) configAttribEd.getValue();

            definitionSource.addSecureUrl(urlPath, attrDef);
        }

        logger.debug("Provided FilterInvocationDefinitionMap by Service =" + definitionSource);
        return definitionSource;
    }
}

⌨️ 快捷键说明

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