由以下原因引起:org.springframework.expression.spel.SpelEvaluationException:EL1029E:(pos 0)

时间:2019-01-18 07:23:56

标签: spring jsp spring-security jstl el

Spring 3表达式方法'hasAnyRole'在我的jsp中失败。在进行多个Web服务调用(将在Principal.authorities中添加/删除角色)后,它无法评估表达式。换句话说,前几次,jsp都可以正常工作,但过一会儿,它将显示在错误下方。

close()

我认为spring属性'access'可能无法在以下代码区域中评估表达式'hasAnyRole('ROLE_ADMIN','ROLE_USER')':
<sec:authorize access="hasAnyRole('ROLE_ADMIN','ROLE_USER')">HELLO WORLD</sec:authorize>

  

原因:    org.springframework.expression.spel.SpelEvaluationException:   EL1029E :(位置0):尝试执行方法时发生问题   类型为'hasAnyRole'的对象   “ org.springframework.security.web.access.expression.WebSecurityExpressionRoot”:   '问题调用方法:public final boolean   org.springframework.security.access.expression.SecurityExpressionRoot.hasAnyRole(java.lang.String [])'     在   org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:202)     在   org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:102)     在   org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:98)     在   org.springframework.security.access.expression.ExpressionUtils.evaluateAsBoolean(ExpressionUtils.java:11)     ... 76更多
原因:   org.springframework.expression.AccessException:调用问题   方法:公共最终布尔值   org.springframework.security.access.expression.SecurityExpressionRoot.hasAnyRole(java.lang.String [])     在   org.springframework.expression.spel.support.ReflectiveMethodExecutor.execute(ReflectiveMethodExecutor.java:73)     在   org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:197)     ... 79更多
原因:java.lang.ArrayIndexOutOfBoundsException

我仍然无法始终如一地重现此确切的错误代码。

如果以前有人见过此Spring表达式错误,请赐教我如何重现,或者对此错误的任何信息表示赞赏,谢谢

0 个答案:

没有答案