Dav*_*ave 6 spring access-control spring-security security-context principal
我正在使用Spring 5.1和Spring security 4.2.我使用XML文件配置了访问规则.我的问题是,如何根据Spring安全上下文中的属性编写拦截规则(对URL的访问控制)?也就是说,我有一个变量
productList
Run Code Online (Sandbox Code Playgroud)
在安全上下文中,类型为java.util.ArrayList.如果此列表为空或null,我想限制对URL的访问.我怎么写这个?我有
<http name="defaultSecurity" security-context-repository-ref="myContextRepository"
auto-config="false" use-expressions="true" authentication-manager-ref="authenticationManager"
entry-point-ref="loginUrlAuthenticationEntryPoint">
...
<intercept-url pattern="/myurl" access="length(principal.productList) > 0" />
...
</http>
Run Code Online (Sandbox Code Playgroud)
但当然,上面
length(principal.productList) > 0
Run Code Online (Sandbox Code Playgroud)
表达是完全错误的.有没有正确的方法来写它?
如果您正在寻找检查ProductList中元素的数量,这里有一个解决方法:
<intercept-url pattern="/myurl" access="principal.productList.size() > 0" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
652 次 |
| 最近记录: |