SpEL - 在spring security中访问会话对象

时间:2013-10-11 08:22:42

标签: java spring spring-security spring-el

有没有办法在SpEL表达式中访问会话对象?具体来说,我需要在春季安全性,如

<intercept-url pattern="/somePage.html" access="session.getAttribute('someTemporaryFlag') != null" />

此代码返回:EL1008E:(pos 0): Field or property 'session' cannot be found on object of type 'org.springframework.security.web.access.expression.WebSecurityExpressionRoot'。这个问题有一个相关问题:List of Spring EL Variables但它没有回答我的问题。

不接受具有安全角色的解决方案。

1 个答案:

答案 0 :(得分:1)

我认为您无法直接访问会话对象,但您可以访问请求对象并从中获取会话。

<intercept-url pattern="/somePage.html" 
       access="request.session.getAttribute('someTemporaryFlag') != null" />