【发布时间】:2020-04-03 17:32:10
【问题描述】:
我有一个使用 SpringBoot+Thymeleaf+jQuery 的项目。我想在我的 JavaScript 中检查经过身份验证的用户的角色。基于角色,将使用 jQuery 渲染一段新的 thymeleaf。我在 HTML 中得到了这个:
<sec:authorize="hasRole('ROLE_ADMIN')" var="hasRoleAdmin"></sec:authorize>
然后 hasRoleAdmin 变量应该在我的 JS 中是可见的,所以我可以这样做:
function renderButton(){
var btn="";
if('${hasRoleAdmin}' == true){
btn = "<button id='saveButton'>Save</button>";
}else{
btn = "<button id='viewButton'>View</button>";
}
$("#root").append(btn);
}
我的第一个想法是像使用 jQuery 一样渲染 thymeleaf
btn = <span sec:authorize=hasRole('ROLE_ADMIN')><button id='saveButton'>Save</button></span>
$("#root").append(btn);
但这两者中的任何一个都有效。如何检查 JavaScript 中的 spring 安全角色?我没有使用内联 JS,所有源都是单独的文件。在 JSP 中有一个如何做到这一点的例子。
【问题讨论】:
标签: jquery spring-boot spring-security thymeleaf