當前位置: 首頁>>代碼示例>>Java>>正文


Java ExpressionBasedAnnotationAttributeFactory類代碼示例

本文整理匯總了Java中org.springframework.security.access.expression.method.ExpressionBasedAnnotationAttributeFactory的典型用法代碼示例。如果您正苦於以下問題:Java ExpressionBasedAnnotationAttributeFactory類的具體用法?Java ExpressionBasedAnnotationAttributeFactory怎麽用?Java ExpressionBasedAnnotationAttributeFactory使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


ExpressionBasedAnnotationAttributeFactory類屬於org.springframework.security.access.expression.method包,在下文中一共展示了ExpressionBasedAnnotationAttributeFactory類的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: isAccessGranted

import org.springframework.security.access.expression.method.ExpressionBasedAnnotationAttributeFactory; //導入依賴的package包/類
@Override
public boolean isAccessGranted(String beanName, UI ui) {
	
	final PreAuthorize viewSecured = applicationContext.findAnnotationOnBean(beanName, PreAuthorize.class);
				
	if (viewSecured != null) {

		final Class<?> targetClass = AopUtils.getTargetClass(applicationContext.getBean(beanName));
		final Method method = ClassUtils.getMethod(AopUtils.getTargetClass(applicationContext.getBean(beanName)), "enter", com.vaadin.navigator.ViewChangeListener.ViewChangeEvent.class);								
		final MethodInvocation methodInvocation = MethodInvocationUtils.createFromClass(targetClass, method.getName());
								
		final Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
		final AccessDecisionManager accessDecisionManager = applicationContext.getBean(AccessDecisionManager.class);			        	        	        	       	        	       
        final ExpressionBasedAnnotationAttributeFactory attributeFactory = new ExpressionBasedAnnotationAttributeFactory(new DefaultMethodSecurityExpressionHandler());
        
		Collection<ConfigAttribute> atributi = new ArrayList<ConfigAttribute>();
		atributi.add(attributeFactory.createPreInvocationAttribute(null, null, viewSecured.value()));
		
        try {
            accessDecisionManager.decide(authentication, methodInvocation, atributi);
            return true;
        } catch (AccessDeniedException | InsufficientAuthenticationException ex) {
            return false;
        }
		
	} else {
		return true;
	}
	
}
 
開發者ID:markoradinovic,項目名稱:Vaadin4Spring-MVP-Sample-SpringSecurity,代碼行數:31,代碼來源:PreAuthorizeSpringViewProviderAccessDelegate.java

示例2: customMethodSecurityMetadataSource

import org.springframework.security.access.expression.method.ExpressionBasedAnnotationAttributeFactory; //導入依賴的package包/類
@Override
protected MethodSecurityMetadataSource customMethodSecurityMetadataSource() {
    ExpressionBasedAnnotationAttributeFactory attributeFactory =
            new ExpressionBasedAnnotationAttributeFactory(getExpressionHandler());
    return new HasAuthorityAnnotationSecurityMetadataSource(attributeFactory);
}
 
開發者ID:vitalii-dmytruk,項目名稱:ConfLab,代碼行數:7,代碼來源:MethodSecurityConfig.java


注:本文中的org.springframework.security.access.expression.method.ExpressionBasedAnnotationAttributeFactory類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。