Javascript 角色处理

Javascript role handling

您好,我使用 spring 安全性在服务器端定义某些角色并限制对某些 Restful 地址的访问。服务器端没有问题。 javascript 是个问题。我在客户端有一些 link,当用户没有管理员角色时我将禁用它们。

在 javascrip/jquery 中执行此操作的最佳方法是什么?有管理这个的脚本吗?

P.S.: 我是 javascript 新手

在服务器端,角色由 spring 安全管理,以避免未经授权的用户访问它们。我想知道的是:是否有一个脚本可以帮助我管理我希望在客户端(集中式)对普通用户进行混淆处理的所有 link,或者我是否需要手动访问我的每 50 link页面并添加对角色的检查?

阻止 link 从服务器端出现会更合适。因为如果你只是禁用它,任何聪明的用户都可以查看源代码并获得 link 和 运行 它。但这里是如何禁用 link

$('.my-link').click(function () {return false;});

您可以 event.preventDefault()

而不是返回 false
/// Disable all Links with a class
$("a").click(function(event){
       event.preventDefault();

       //// check if admin
          if(  isAdminFunc() ){
               handleThisLinkClickForAdmin();
          }else{
                 //// non admin users can not access links..  
          }
});

我终于找到了该怎么做。在后端方面,我不必更改任何内容。 在前端,我必须在我的 html 页面上添加一个标签库:

<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>

在我可以保护只有具有此角色及以上角色的用户才能访问的块之后:

<a href="http://www.everyUserAccess.com/html/">All normal user can access</a>
<sec:authorize access="hasRole('admin')">
<a href="http://www.onlyAdminAccess.com/html/">Only user with Admin role cann access</a>
</sec:authorize>

在此示例中,第一个 link 可供所有人访问,第二个仅供具有 'admin' 角色的用户访问。