SpringSecurity--Failed to evaluate expression 'ROLE_USER'
博客专区 > fajor 的博客 > 博客详情
SpringSecurity--Failed to evaluate expression 'ROLE_USER'
fajor 发表于2年前
SpringSecurity--Failed to evaluate expression 'ROLE_USER'
  • 发表于 2年前
  • 阅读 209
  • 收藏 0
  • 点赞 2
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: Java.lang.IllegalArgumentException: Failed to evaluate expression 'ROLE_USER'

                               Failed to evaluate expression 'ROLE_USER'

                    一,问题描述

                            Spring-Security 配置文件中有如下一行配置,它表示即将访问的 URL 会被拦截并需要

                        某种角色或权限。

                            

                            这是官方的配置,但是很多国内的教程上基本上都打开了使用 Spring Security 的表达

                        式语言,所以很多初学者,也不懂是什么意思就写成了如下这种样子

                            

                            最后部署到服务器进行启动的时候就出现了如下这类异常

                            Java.lang.IllegalArgumentException: Failed to evaluate expression 'ROLE_USER'

                            ....

                            ....

                    二,解决方案

                        首先我解释下,什么是 use-expressions=”true” 这句话的含义,它表示你即将打开 

                    Spring Security 的表达式语言支持,那么拦截的 URL 的 access 属性的值要求为符合这个语

                    言格式,那么这个格式是什么呢,比如说需要某种角色才能访问,必须写成 hasRole('xxxx')

                        所以,解决方案就是,

                        1,要么按照官方的来,不使用这个表达式语言,去掉 use-expressions=”true”这句,

                        2,修改 intercept-url 元素的 access 属性值,改为符合格式的,如下

                        

共有 人打赏支持
粉丝 30
博文 60
码字总数 18401
×
fajor
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: