javascript中的springsecurity角色检查

时间:2015-06-11 08:03:04

标签: javascript spring

是否可以在JSP中使用java脚本,如下所示

var f = null;
  '<sec:authorize access="hasAnyRole(\'c2ladmin\',\'provider\')">'
  f = function() {
      alert('hi');
  }
  '</sec:authorize>';

  '<sec:authorize access="hasRole(\'teacher\')">'
  f = function() {
      alert('teacher');
  }
  '</sec:authorize>';

注意:需要根据用户的角色从Javascript渲染视图。

2 个答案:

答案 0 :(得分:10)

您可以尝试以下方法:

<sec:authorize access="hasAnyRole('admin','superadmin')" var="isAuthorizeAny"></sec:authorize>
<sec:authorize access="hasRole('user')" var="haRoleUser"></sec:authorize>

    <script type="text/javascript">
        if('${isAuthorizeAny}' == true){
             f = function() {
                alert('hi Admini');
            }
        }

        if('${haRoleUser}' == true){
             f = function() {
                alert('hei User');
            }
        }
    </script>   

答案 1 :(得分:2)

这对我有用

<input id="isRoleExterno" access="hasRole('ROLE_EXTERNO')" type="text" class="hide" value="true"/>

<input id="isRoleExterno" access="!hasRole('ROLE_EXTERNO')" type="text" class="hide" value="false"/>

在我的JS中

var isRoleExterno = $('#isRoleExterno').val();

if(isRoleExterno){var clazz="hide";}else{var clazz="";}