首页 新闻 搜索 专区 学院

'org.springframework.security.web.access.expression.WebSecurityExpressionRoot' - maybe not public or not valid?

0
悬赏园豆:50 [已解决问题] 解决于 2020-05-07 17:55

后台报错:
Property or field 'data' cannot be found on object of type 'org.springframework.security.web.access.expression.WebSecurityExpressionRoot' - maybe not public or not valid?

前台报错:

前台代码: 如何动态将查询得到权限写入hasRole中呢,似乎spring security taglibs 不支持如此的写法,如果改成固定的值是可以的比如 :ROLE_ADMIN ,试了各种写法,字符串拼接,都是不行,

<security:authorize access="hasRole('ROLE_.'.concat(data[0].menuExpenses))"> <li value="'+data[0].id+'"> <a href="javascript:;" onclick="menuClick('+data[0].id+')">'+data[0].name+'</a> </li></security:authorize>

或者说有没有别的办法可以根据不同用户的权限显示具有权限的模块

arsn的主页 arsn | 初学一级 | 园豆:109
提问于:2020-05-03 23:37
< >
分享
最佳答案
0

用注解:

https://www.cnblogs.com/fenglan/p/5913463.html

并且hasRole注解的方法是public的

收获园豆:50
悟行 | 专家六级 |园豆:12328 | 2020-05-04 11:22

没能看懂, 意思是前台还是无法做动态的权限管理吗?注解的方式我再研究研究

arsn | 园豆:109 (初学一级) | 2020-05-04 21:36

@arsn:  可以动态,要前台的对应调用后台的方法

悟行 | 园豆:12328 (专家六级) | 2020-05-05 17:40

@再见2019: 我明白了,但是我还不明白 principal.username.equals(#username) 中 #username是干嘛的,是登录提交的的username的值吗,principal.username是用户认证成功后获取到的,这两个值比较的意义是啥,没搞明白,我直接在前台也可以将username的值传到后台从而返回当前用户的信息,望大佬解答下,谢谢

arsn | 园豆:109 (初学一级) | 2020-05-05 22:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册