org.springframework.security.access.expression.ExpressionUtils.evaluateAsBoolean()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(10.6k)|赞(0)|评价(0)|浏览(133)

本文整理了Java中org.springframework.security.access.expression.ExpressionUtils.evaluateAsBoolean()方法的一些代码示例,展示了ExpressionUtils.evaluateAsBoolean()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ExpressionUtils.evaluateAsBoolean()方法的具体详情如下:
包路径:org.springframework.security.access.expression.ExpressionUtils
类名称:ExpressionUtils
方法名:evaluateAsBoolean

ExpressionUtils.evaluateAsBoolean介绍

暂无

代码示例

代码示例来源:origin: spring-projects/spring-security

public int vote(Authentication authentication, Message<T> message,
    Collection<ConfigAttribute> attributes) {
  assert authentication != null;
  assert message != null;
  assert attributes != null;
  MessageExpressionConfigAttribute attr = findConfigAttribute(attributes);
  if (attr == null) {
    return ACCESS_ABSTAIN;
  }
  EvaluationContext ctx = expressionHandler.createEvaluationContext(authentication,
      message);
  return ExpressionUtils.evaluateAsBoolean(attr.getAuthorizeExpression(), ctx) ? ACCESS_GRANTED
      : ACCESS_DENIED;
}

代码示例来源:origin: spring-projects/spring-security

rootObject.setFilterObject(filterObject);
  if (ExpressionUtils.evaluateAsBoolean(filterExpression, ctx)) {
    retainList.add(filterObject);
  rootObject.setFilterObject(o);
  if (ExpressionUtils.evaluateAsBoolean(filterExpression, ctx)) {
    retainList.add(o);
  return ExpressionUtils.evaluateAsBoolean(filterExpression, ctx);
})
    .onClose(original::close);

代码示例来源:origin: spring-projects/spring-security

&& !ExpressionUtils.evaluateAsBoolean(postAuthorize, ctx)) {
if (logger.isDebugEnabled()) {
  logger.debug("PostAuthorize expression rejected access");

代码示例来源:origin: org.springframework.security/spring-security-core

rootObject.setFilterObject(filterObject);
if (ExpressionUtils.evaluateAsBoolean(filterExpression, ctx)) {
  retainList.add(filterObject);
rootObject.setFilterObject(o);
if (ExpressionUtils.evaluateAsBoolean(filterExpression, ctx)) {
  retainList.add(o);

代码示例来源:origin: org.springframework.security/spring-security-core

&& !ExpressionUtils.evaluateAsBoolean(postAuthorize, ctx)) {
if (logger.isDebugEnabled()) {
  logger.debug("PostAuthorize expression rejected access");

代码示例来源:origin: spring-projects/spring-security

@Test
public void trustResolverPopulated() {
  EvaluationContext context = handler.createEvaluationContext(authentication,
      message);
  Expression expression = handler.getExpressionParser().parseExpression(
      "authenticated");
  assertThat(ExpressionUtils.evaluateAsBoolean(expression, context)).isFalse();
}

代码示例来源:origin: spring-projects/spring-security

@Test
public void hasPermissionOnDomainObjectWorksWithIntegerExpressions() throws Exception {
  final Object dummyDomainObject = new Object();
  ctx.setVariable("domainObject", dummyDomainObject);
  final PermissionEvaluator pe = mock(PermissionEvaluator.class);
  root.setPermissionEvaluator(pe);
  when(pe.hasPermission(eq(user), eq(dummyDomainObject), any(Integer.class)))
      .thenReturn(true).thenReturn(true).thenReturn(false);
  Expression e = parser.parseExpression("hasPermission(#domainObject, 0xA)");
  // evaluator returns true
  assertThat(ExpressionUtils.evaluateAsBoolean(e, ctx)).isTrue();
  e = parser.parseExpression("hasPermission(#domainObject, 10)");
  // evaluator returns true
  assertThat(ExpressionUtils.evaluateAsBoolean(e, ctx)).isTrue();
  e = parser.parseExpression("hasPermission(#domainObject, 0xFF)");
  // evaluator returns false, make sure return value matches
  assertThat(ExpressionUtils.evaluateAsBoolean(e, ctx)).isFalse();
}

代码示例来源:origin: spring-projects/spring-security

@Test
public void canCallMethodsOnVariables() throws Exception {
  ctx.setVariable("var", "somestring");
  Expression e = parser.parseExpression("#var.length() == 10");
  assertThat(ExpressionUtils.evaluateAsBoolean(e, ctx)).isTrue();
}

代码示例来源:origin: spring-projects/spring-security

@Test
public void trustResolverCustom() {
  handler.setTrustResolver(trustResolver);
  EvaluationContext context = handler.createEvaluationContext(authentication,
      message);
  Expression expression = handler.getExpressionParser().parseExpression(
      "authenticated");
  when(trustResolver.isAnonymous(authentication)).thenReturn(false);
  assertThat(ExpressionUtils.evaluateAsBoolean(expression, context)).isTrue();
}

代码示例来源:origin: spring-projects/spring-security

@Test
  public void permissionEvaluator() {
    handler.setPermissionEvaluator(permissionEvaluator);
    EvaluationContext context = handler.createEvaluationContext(authentication,
        message);
    Expression expression = handler.getExpressionParser().parseExpression(
        "hasPermission(message, 'read')");
    when(permissionEvaluator.hasPermission(authentication, message, "read"))
        .thenReturn(true);

    assertThat(ExpressionUtils.evaluateAsBoolean(expression, context)).isTrue();
  }
}

代码示例来源:origin: spring-projects/spring-security

@Test
  public void hasPermissionWorksWithThisObject() throws Exception {
    Object targetObject = new Object() {
      public String getX() {
        return "x";
      }
    };
    root.setThis(targetObject);
    Integer i = 2;
    PermissionEvaluator pe = mock(PermissionEvaluator.class);
    root.setPermissionEvaluator(pe);
    when(pe.hasPermission(user, targetObject, i)).thenReturn(true).thenReturn(false);
    when(pe.hasPermission(user, "x", i)).thenReturn(true);

    Expression e = parser.parseExpression("hasPermission(this, 2)");
    assertThat(ExpressionUtils.evaluateAsBoolean(e, ctx)).isTrue();
    e = parser.parseExpression("hasPermission(this, 2)");
    assertThat(ExpressionUtils.evaluateAsBoolean(e, ctx)).isFalse();

    e = parser.parseExpression("hasPermission(this.x, 2)");
    assertThat(ExpressionUtils.evaluateAsBoolean(e, ctx)).isTrue();
  }
}

代码示例来源:origin: spring-projects/spring-security

public boolean before(Authentication authentication, MethodInvocation mi,
    PreInvocationAttribute attr) {
  PreInvocationExpressionAttribute preAttr = (PreInvocationExpressionAttribute) attr;
  EvaluationContext ctx = expressionHandler.createEvaluationContext(authentication,
      mi);
  Expression preFilter = preAttr.getFilterExpression();
  Expression preAuthorize = preAttr.getAuthorizeExpression();
  if (preFilter != null) {
    Object filterTarget = findFilterTarget(preAttr.getFilterTarget(), ctx, mi);
    expressionHandler.filter(filterTarget, preFilter, ctx);
  }
  if (preAuthorize == null) {
    return true;
  }
  return ExpressionUtils.evaluateAsBoolean(preAuthorize, ctx);
}

代码示例来源:origin: spring-projects/spring-security

@Test
public void roleHierarchy() {
  authentication = new TestingAuthenticationToken("admin", "pass", "ROLE_ADMIN");
  RoleHierarchyImpl roleHierarchy = new RoleHierarchyImpl();
  roleHierarchy.setHierarchy("ROLE_ADMIN > ROLE_USER");
  handler.setRoleHierarchy(roleHierarchy);
  EvaluationContext context = handler.createEvaluationContext(authentication,
      message);
  Expression expression = handler.getExpressionParser().parseExpression(
      "hasRole('ROLE_USER')");
  assertThat(ExpressionUtils.evaluateAsBoolean(expression, context)).isTrue();
}

代码示例来源:origin: org.springframework.security/spring-security-core

public boolean before(Authentication authentication, MethodInvocation mi,
    PreInvocationAttribute attr) {
  PreInvocationExpressionAttribute preAttr = (PreInvocationExpressionAttribute) attr;
  EvaluationContext ctx = expressionHandler.createEvaluationContext(authentication,
      mi);
  Expression preFilter = preAttr.getFilterExpression();
  Expression preAuthorize = preAttr.getAuthorizeExpression();
  if (preFilter != null) {
    Object filterTarget = findFilterTarget(preAttr.getFilterTarget(), ctx, mi);
    expressionHandler.filter(filterTarget, preFilter, ctx);
  }
  if (preAuthorize == null) {
    return true;
  }
  return ExpressionUtils.evaluateAsBoolean(preAuthorize, ctx);
}

代码示例来源:origin: org.bitbucket.risu8/hibernate

@Override
  public boolean isValid(Serializable value, ConstraintValidatorContext context) {
    if (value == null) {
      return true;
    }
    try {
      HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
      ExpressionUtils.evaluateAsBoolean(expressionHandler.getExpressionParser().parseExpression(value.toString()), expressionHandler.createEvaluationContext(SecurityContextHolder.getContext().getAuthentication(), new FilterInvocation(request.getServletPath(), request.getMethod())));
    } catch (Exception e) {
      return false;
    }
    return true;
  }
}

代码示例来源:origin: org.springframework.statemachine/spring-statemachine-core

@Override
public int vote(Authentication authentication, Transition<?, ?> object, Collection<ConfigAttribute> attributes) {
  TransitionExpressionConfigAttribute teca = findConfigAttribute(attributes);
  if (teca == null) {
    return ACCESS_ABSTAIN;
  }
  EvaluationContext ctx = expressionHandler.createEvaluationContext(authentication, object);
  return ExpressionUtils.evaluateAsBoolean(teca.getAuthorizeExpression(), ctx) ? ACCESS_GRANTED : ACCESS_DENIED;
}

代码示例来源:origin: apache/servicemix-bundles

public int vote(Authentication authentication, Message<T> message,
    Collection<ConfigAttribute> attributes) {
  assert authentication != null;
  assert message != null;
  assert attributes != null;
  MessageExpressionConfigAttribute attr = findConfigAttribute(attributes);
  if (attr == null) {
    return ACCESS_ABSTAIN;
  }
  EvaluationContext ctx = expressionHandler.createEvaluationContext(authentication,
      message);
  return ExpressionUtils.evaluateAsBoolean(attr.getAuthorizeExpression(), ctx) ? ACCESS_GRANTED
      : ACCESS_DENIED;
}

代码示例来源:origin: org.springframework.statemachine/spring-statemachine-core

public int vote(Authentication authentication, Message<T> message,
    Collection<ConfigAttribute> attributes) {
  assert authentication != null;
  assert message != null;
  assert attributes != null;
  EventExpressionConfigAttribute attr = findConfigAttribute(attributes);
  if (attr == null) {
    return ACCESS_ABSTAIN;
  }
  EvaluationContext ctx = expressionHandler.createEvaluationContext(authentication,
      message);
  return ExpressionUtils.evaluateAsBoolean(attr.getAuthorizeExpression(), ctx) ? ACCESS_GRANTED
      : ACCESS_DENIED;
}

代码示例来源:origin: apache/servicemix-bundles

public int vote(Authentication authentication, FilterInvocation fi,
    Collection<ConfigAttribute> attributes) {
  assert authentication != null;
  assert fi != null;
  assert attributes != null;
  WebExpressionConfigAttribute weca = findConfigAttribute(attributes);
  if (weca == null) {
    return ACCESS_ABSTAIN;
  }
  EvaluationContext ctx = expressionHandler.createEvaluationContext(authentication,
      fi);
  ctx = weca.postProcess(ctx, fi);
  return ExpressionUtils.evaluateAsBoolean(weca.getAuthorizeExpression(), ctx) ? ACCESS_GRANTED
      : ACCESS_DENIED;
}

代码示例来源:origin: org.springframework.security/org.springframework.security.core

public boolean before(Authentication authentication, MethodInvocation mi, PreInvocationAttribute attr) {
  PreInvocationExpressionAttribute preAttr = (PreInvocationExpressionAttribute) attr;
  EvaluationContext ctx = expressionHandler.createEvaluationContext(authentication, mi);
  Expression preFilter = preAttr.getFilterExpression();
  Expression preAuthorize = preAttr.getAuthorizeExpression();
  if (preFilter != null) {
    Object filterTarget = findFilterTarget(preAttr.getFilterTarget(), ctx, mi);
    expressionHandler.filter(filterTarget, preFilter, ctx);
  }
  if (preAuthorize == null) {
    return true;
  }
  return ExpressionUtils.evaluateAsBoolean(preAuthorize, ctx);
}

相关文章

微信公众号

最新文章

更多

ExpressionUtils类方法