根据用户访问权限隐藏jquery中的按钮

时间:2018-05-08 11:10:03

标签: javascript jquery spring-security

我试图隐藏按钮。如果它是在html上,我只会做

<security:authorize access="hasAuthority('Administrator')">
//html button code
</security:authorize>

但我的delete button是从datatable生成的。

 var table = $('#dataTable').DataTable({
    language: {
        searchPlaceholder: "Search...",
        emptyTable: "There are no available flows."
    },
    columnDefs: [ {
        orderable: false,
        className: 'select-checkbox',
        targets:   0
    },
        {type: "date-euro", targets: 7},
        {type: "date-euro", targets: 8}
    ],
    order: [[1, 'desc']],
    select: {
        style:    'multi',
        selector: 'td:first-child'
    },
    lengthChange: false,
    dom: 'Bfrtip',
    buttons: [
        {
            text: '<span class="fa fa-plus"></span> Create',
            className: 'btn-primary-outline',
            action: function () {
                location.href = "create-flow";
            }
        },
        {
            text: '<span class="fa fa-trash"></span> Delete',
            className: 'btn-danger-outline',
            action: function () {
                console.log($('#hasAuthority').val());
                var selectedRows = table.rows({selected: true});
                if (selectedRows.nodes().length > 0) {
                    //Get names
                    var data = selectedRows.data();
                    var names = [];
                    $.each(data, function (index, value) {
                        names.push(value[2]);
                    });
                    //Remove them
                    $.ajax({
                        url: '/flow/delete?names=' + names,
                        type: 'delete',
                        success: function () {
                            //reload page
                            location.reload();
                        }
                    });
                    //de-select selected rows
                    table.rows('.selected').deselect();
                }
            }
        }
    ]
});

如果用户是管理员,我是否尝试为输入提供值,但我未定义

<security:authorize access="hasAuthority('Administrator')" var="hasAuthority"></security:authorize>
<input type="hidden" id="hasAuthority" value="${hasAuthority}">

但是,如何仅将if(hasAuthority)与删除按钮合并?语法不匹配。

0 个答案:

没有答案