我需要检查用户角色是否为admin,将<td>
附加到表中。换句话说,我在jsp页面中有一个如下表:
title | description | action
-----------------------------------
.... ...... answer
我希望用户角色为admin时,在“操作”列中添加。像这样:
title | description | action
-----------------------------------
.... ...... answer|see
我为此的jquery代码是:
$('#my-rows').append($('<tr>')
.append($('<td>').text(poll.title))
.append($('<td>').text(poll.description))
.append($('<td>').append($('<a style="text-decoration: none">').attr({
'onclick' : 'VoteFor(' +poll.poll_id+ ')'}).text('answer'))).append(('${hasRoleAdmin}' == true ? $('<a>').attr({
'onclick' : 'ViewPoll(' +poll.poll_id+ ')'}).text('see'):'')))
和hasRoleAdmin
是我在jsp页面中定义的变量,如下所示:
<sec:authorize access="hasRole('ROLE_ADMIN')" var="hasRoleAdmin"></sec:authorize>
但是它不起作用,并且我的表与上面我前面显示的一样,我无法像在第二个表中那样得到see
。我该如何附加条件?你能帮我吗?
答案 0 :(得分:0)
如果我理解正确-
由于具有Spring安全性,因此您可以简单地进行以下操作:
无论您身在何处,都可以使用硬编码。
将其包装在您的spring安全标签中,如下所示:
<sec:authorize access="hasRole('ADMIN')"><td>your</td></sec:authorize>
在SecurityConfig中处理安全性。
应该可以解决问题。这意味着,除Admin之外,其他任何角色都不能查看该标签。让弹簧安全装置为您处理。无需使用JS / JQ等隐藏/取消隐藏/启用/禁用。