当前位置: 首页>>代码示例>>Java>>正文


Java DocumentSecurityAttribute类代码示例

本文整理汇总了Java中org.kuali.rice.kew.framework.document.security.DocumentSecurityAttribute的典型用法代码示例。如果您正苦于以下问题:Java DocumentSecurityAttribute类的具体用法?Java DocumentSecurityAttribute怎么用?Java DocumentSecurityAttribute使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


DocumentSecurityAttribute类属于org.kuali.rice.kew.framework.document.security包,在下文中一共展示了DocumentSecurityAttribute类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getAuthorizedDocumentIds

import org.kuali.rice.kew.framework.document.security.DocumentSecurityAttribute; //导入依赖的package包/类
@Override
public List<String> getAuthorizedDocumentIds(String principalId, List<DocumentSecurityDirective> documentSecurityDirectives ) {
    if (StringUtils.isBlank(principalId)) {
        throw new RiceIllegalArgumentException("principalId was null or blank");
    }
    if (documentSecurityDirectives == null) {
        documentSecurityDirectives = Collections.emptyList();
    }
    List<String> authorizedDocumentIds = new ArrayList<String>();
    Map<String, DocumentSecurityAttribute> securityAttributeCache = new HashMap<String, DocumentSecurityAttribute>();
    for (DocumentSecurityDirective documentSecurityDirective : documentSecurityDirectives) {
        List<DocumentSecurityAttribute> attributesToApply = loadSecurityAttributes(documentSecurityDirective, securityAttributeCache);
        for (Document document : documentSecurityDirective.getDocuments()) {
            // if it's already authorized, we don't need to do anything
            if (!authorizedDocumentIds.contains(document.getDocumentId())) {
                for (DocumentSecurityAttribute securityAttribute : attributesToApply) {
                    if (securityAttribute.isAuthorizedForDocument(principalId, document)) {
                        authorizedDocumentIds.add(document.getDocumentId());
                        break;
                    }
                }
            }
        }
    }
    return authorizedDocumentIds;
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:27,代码来源:DocumentSecurityHandlerServiceImpl.java

示例2: getImmediateSecurityAttributes

import org.kuali.rice.kew.framework.document.security.DocumentSecurityAttribute; //导入依赖的package包/类
protected List<DocumentSecurityAttribute> getImmediateSecurityAttributes(Document document, DocumentTypeSecurity security,
        SecuritySession securitySession) {
    List<DocumentSecurityAttribute> securityAttributes = new ArrayList<DocumentSecurityAttribute>();
    for (String securityAttributeClassName : security.getSecurityAttributeClassNames()) {
        DocumentSecurityAttribute securityAttribute = securitySession.getSecurityAttributeForClass(
                securityAttributeClassName);
        if (securityAttribute == null) {
            securityAttribute = GlobalResourceLoader.getObject(new ObjectDefinition(securityAttributeClassName));
            securitySession.setSecurityAttributeForClass(securityAttributeClassName, securityAttribute);
        }
        securityAttributes.add(securityAttribute);
    }
    return securityAttributes;
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:15,代码来源:DocumentSecurityServiceImpl.java

示例3: loadSecurityAttributes

import org.kuali.rice.kew.framework.document.security.DocumentSecurityAttribute; //导入依赖的package包/类
protected List<DocumentSecurityAttribute> loadSecurityAttributes(DocumentSecurityDirective documentSecurityDirective,
        Map<String, DocumentSecurityAttribute> securityAttributeCache) {
    List<DocumentSecurityAttribute> securityAttributes = new ArrayList<DocumentSecurityAttribute>();
    for (String documentSecurityAttributeName : documentSecurityDirective.getDocumentSecurityAttributeNames()) {
        securityAttributes.add(loadAndCacheSecurityAttribute(documentSecurityAttributeName, securityAttributeCache));
    }
    return securityAttributes;
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:9,代码来源:DocumentSecurityHandlerServiceImpl.java

示例4: loadAndCacheSecurityAttribute

import org.kuali.rice.kew.framework.document.security.DocumentSecurityAttribute; //导入依赖的package包/类
protected DocumentSecurityAttribute loadAndCacheSecurityAttribute(String securityAttributeName, Map<String, DocumentSecurityAttribute> securityAttributeCache) {
    if (securityAttributeCache.containsKey(securityAttributeName)) {
        return securityAttributeCache.get(securityAttributeName);
    }
    ExtensionDefinition extensionDefinition = extensionRepositoryService.getExtensionByName(securityAttributeName);
    if (extensionDefinition == null) {
        throw new RiceIllegalArgumentException("Failed to locate a SecurityAttribute with the given name: " + securityAttributeName);
    }
    DocumentSecurityAttribute securityAttribute = loadSecurityAttribute(extensionDefinition);
    securityAttributeCache.put(securityAttributeName, securityAttribute);
    return securityAttribute;
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:13,代码来源:DocumentSecurityHandlerServiceImpl.java

示例5: loadSecurityAttribute

import org.kuali.rice.kew.framework.document.security.DocumentSecurityAttribute; //导入依赖的package包/类
protected DocumentSecurityAttribute loadSecurityAttribute(ExtensionDefinition extensionDefinition) {
    Object securityAttribute = ExtensionUtils.loadExtension(extensionDefinition);
    if (securityAttribute == null) {
        throw new RiceIllegalArgumentException("Failed to load SecurityAttribute for: " + extensionDefinition);
    }
    return (DocumentSecurityAttribute)securityAttribute;
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:8,代码来源:DocumentSecurityHandlerServiceImpl.java

示例6: getSecurityAttributeForClass

import org.kuali.rice.kew.framework.document.security.DocumentSecurityAttribute; //导入依赖的package包/类
public DocumentSecurityAttribute getSecurityAttributeForClass(String className) {
    return this.securityAttributeClassNameMap.get(className);
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:4,代码来源:SecuritySession.java

示例7: setSecurityAttributeForClass

import org.kuali.rice.kew.framework.document.security.DocumentSecurityAttribute; //导入依赖的package包/类
public void setSecurityAttributeForClass(String className, DocumentSecurityAttribute securityAttribute) {
    this.securityAttributeClassNameMap.put(className, securityAttribute);
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:4,代码来源:SecuritySession.java


注:本文中的org.kuali.rice.kew.framework.document.security.DocumentSecurityAttribute类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。