本文整理汇总了Java中org.springframework.security.util.MethodInvocationUtils类的典型用法代码示例。如果您正苦于以下问题:Java MethodInvocationUtils类的具体用法?Java MethodInvocationUtils怎么用?Java MethodInvocationUtils使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
MethodInvocationUtils类属于org.springframework.security.util包,在下文中一共展示了MethodInvocationUtils类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: canCurrentUserAccessView
import org.springframework.security.util.MethodInvocationUtils; //导入依赖的package包/类
/**
* @param viewClass
* @return true si l'utilisateur peut accéder à la vue
*/
public boolean canCurrentUserAccessView(Class<? extends View> viewClass, Authentication auth) {
if (auth == null) {
return false;
}
MethodInvocation methodInvocation = MethodInvocationUtils.createFromClass(viewClass, "enter");
Collection<ConfigAttribute> configAttributes = methodSecurityInterceptor.obtainSecurityMetadataSource()
.getAttributes(methodInvocation);
/* Renvoie true si la vue n'est pas sécurisée */
if (configAttributes.isEmpty()) {
return true;
}
/* Vérifie que l'utilisateur a les droits requis */
try {
methodSecurityInterceptor.getAccessDecisionManager().decide(auth, methodInvocation, configAttributes);
} catch (InsufficientAuthenticationException | AccessDeniedException e) {
return false;
}
return true;
}
示例2: isAccessGranted
import org.springframework.security.util.MethodInvocationUtils; //导入依赖的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