2016-08-23 23 views
2

我需要隱藏非授權用戶的Datables中的按鈕。使用Spring Security隱藏非授權用戶的Datables中的按鈕

在普通的jsp中,我使用了spring security標籤來隱藏非授權用戶的元素。

E.g.隱藏刪除按鈕:

<sec:authorize access="hasRole('ROLE_ADMIN')"> <a href="delete/${author.id}">Delete</a></sec:authorize> 

但在jQuery數據表中,按鈕來自內部的JavaScript配置。而且我不能使用彈簧安全標籤。 例如在數據表刪除按鈕:

"buttons": [ 
{ 
    text: "Delete", 
    action: function (e, dt, button, config){ 
     //button onClick here 
    } 
} 
] 
+0

如果您可以將授權狀態轉換爲JavaScript變量,您可以根據變量設置'buttons'。我不知道任何JSP或Spring。 – thirtydot

+0

@thirtydot,是的,我可以在js中獲得授權變量,但接下來我應該做什麼?我如何在數據表中檢查這個變量? – Redeemer

回答

1

下面是一個例子:

var authStatus = true; //your auth status variable from JSP 

var buttons = []; 

if (authStatus) { 
    buttons = [ 
     { 
      text: "Delete", 
      action: function(e, dt, button, config) { 
       //button onClick here 
      } 
     } 
    ]; 
} 

$('#example').DataTable({ 
    dom: 'Bfrtip', 
    buttons: buttons, 
}); 

你可以不是與三元操作符寫行內,但它不會是那樣清晰。

+0

TY,它工作! – Redeemer

相關問題