spring security的配置文件如何关闭spEL表达式

在spring security的xml配置文件中,我们可以看到下面这几行配置

spring security的配置文件如何关闭spEL表达式_第1张图片

上面这个配置主要配置的是spring security的拦截路径,pattern="/**"表示的是拦截所有请求,而后面的access="hasRole('ROLE_ADMIN')"表示的是只有具有ADMIN角色的用户才可访问,但是这个的hasRole('ROLE_ADMIN')其实用到了spEL表达式(spring 3.0推出的表达式),如果我们这里前面不写hasRole,就表示没有使用spEL表达式,但是去掉hasRole后,我们的程序会报如下错误

这是因为这里默认使用的就是spEL表达式,所以我们如果不想写hasRole的话,要先关闭掉spEL表达式

spring security的配置文件如何关闭spEL表达式_第2张图片

如图,在http后面加上  use-expressions="false"即表示关闭spEL表达式,另外需要注意的是,关闭掉spEL表达式后,access中的值也不要再用小括号了,直接写ROLE_ADMIN就可以了,值得注意的是这里的ROL不能去掉,不然还是会报错,报错内容如下

你可能感兴趣的:(SpringSecurity)