我可以像jstl一样使用百里香弹簧安全吗?

时间:2014-01-06 00:18:20

标签: thymeleaf

我希望将javascript代码的一部分取决于下面的权限,这是免费标记代码。

<script type="text/javascript"></br>
var openAuthorityOperatorData = false;

$(function() {
    $('#dlg_operator_auth_search_form').dialog({
        autoOpen: false,
        width: 500<@security.authorize access="hasRole('AUHOA00000')"> + 450</@security.authorize>,
        height: 550,
        dialogClass: 'dialog-shadow',
        modal: false,
        resizable: false...
})});
</script>

使用thymleaf,我只能找到一种将权限属性放入脚本元素的方法,如下所示。

<script sec:authorize="hasAnyRole('AUCOP0000x','AUUOP0000x')" type="text/javascript">
$(function() {
}); 
</script>

如果我不能使用顶级代码之类的东西,我可以使用jstl和thymeleaf来实现目标吗?

1 个答案:

答案 0 :(得分:2)

Thymeleaf需要有效的HTML5 / XHTML / XML模板才能工作,因此无法将其与JSTL结合使用。

但是,您可以在Thymeleaf中使用脚本内联。 Spring Security extras插件还提供了authorization实用程序对象。

<script th:inline="javascript">
    var w = /*[[${#authorization.expression('hasAnyRole(''AUCOP0000x'',''AUUOP0000x'')')} ? ${500} : ${950} ]]*/ 500;
    ...
        width: w,
    ...
</script>

<强>来源