我正在尝试向表中的新行添加链接,该链接只能由ADMIN角色访问。
spring boot:1.4.0.RELEASE &thymeleaf-extras-springsecurity4.version:2.1.2。发布
function parse(str) {
var arr = str.split('.');
return function(obj) {
return arr.reduce((o, i) => o[i], obj);
}
}
let foo = {
a: {
b: {
c: {
bar: 0
}
}
}
}
let c = parse('a.b.c')(foo);
console.log(c.bar);
c['bar'] = 1;
console.log(foo);
使用的命名空间是:
<sec:authorize access="hasRole('ROLE_ADMIN')">
<tr>
<td>...</td>
<td>...</td>
</tr>
</sec:authorize>
WebSecurityConfigAdapter:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
但是使用此代码,即使没有ADMIN特权的用户也可以查看表的行。
有人可以帮助我前进的道路吗?
答案 0 :(得分:0)
应该可以。 我很确定您也在向该用户添加ROLE_ADMIN。 尝试调试在使用标记的位置呈现jsp的控制器,然后从Authentication中获取主体对象
authentication.getPrincipal()
遍历对象,直到找不到GrantedAuthority,然后检查用户是否具有ROLE_ADMIN