如果角色是管理员,请添加TD

时间:2019-04-11 16:33:32

标签: javascript jquery spring

我需要检查用户角色是否为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。我该如何附加条件?你能帮我吗?

1 个答案:

答案 0 :(得分:0)

如果我理解正确-

由于具有Spring安全性,因此您可以简单地进行以下操作:

无论您身在何处,都可以使用硬编码。

将其包装在您的spring安全标签中,如下所示:

 <sec:authorize access="hasRole('ADMIN')"><td>your</td></sec:authorize>

在SecurityConfig中处理安全性。

应该可以解决问题。这意味着,除Admin之外,其他任何角色都不能查看该标签。让弹簧安全装置为您处理。无需使用JS / JQ等隐藏/取消隐藏/启用/禁用。