2015-03-13 75 views
0

我试图在我的脚本Ext JS上添加弹簧应答器<sec:authorize>。 我做了如下代码:如何将Spring标签<sec:authorize>添加到Ext JS脚本中?

text: 'Management', 
    menuAlign: 'tr-br', 
    menu:{ 
     items:[ 
      <sec:authorize access="hasAnyRole('ROLE_ADD_SITE')"> 
      { 
       text: 'Sites', 
       handler : function() { 
        window.location = "/application"; 
       } 
      }, 
      </sec:authorize> 

我想添加标签像上面。 有没有人有任何想法做到这一点?

+0

究竟是什么错误/问题? – ikumen 2015-03-13 15:57:28

+0

只要这是我们正在讨论的JSP,您提供的代码实际上应该可以工作...... – kaqqao 2015-03-15 23:45:29

+0

我不这么认为Spring Security对ExtJS至少支持Ext JS 4.2.x和spring 3.2 .x,使用标准实现没有办法做到这一点,您需要在extjs中定义自己的扩展并将它们用作小部件。并且你的severside api集成也应该到位。 – user3247727 2015-03-16 13:27:56

回答

0

不确定您可以进行这种标记,但您可以通过方法确定用户访问权限,并在initComponent中动态添加项目,例如,

initComponent: function() { 
    var me = this 
    var items = []; 

    if (userInRole('ROLE_ADD_SITE')) { 
     items.push({ 
       // some config 
     });  
    } 

    Ext.apply(me, { 
     items: items 
    }); 

    me.callParent(arguments);  

} 

您可以看到一个示例here

相关问题