Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web applications ExtJS4应用程序登录&;认证与认证;权利_Web Applications_Extjs_Extjs4_Extjs Mvc - Fatal编程技术网

Web applications ExtJS4应用程序登录&;认证与认证;权利

Web applications ExtJS4应用程序登录&;认证与认证;权利,web-applications,extjs,extjs4,extjs-mvc,Web Applications,Extjs,Extjs4,Extjs Mvc,我正在使用推荐的新应用程序结构在ExtJS4上开发一个web应用程序。因此,我需要实现一个认证和权限系统。目前的想法是: 服务器负责确保用户角色和权限 ExtJS前端必须根据权限和角色进行更改 我使用卡片布局。第一个选项卡是登录屏幕,第二个选项卡是应用程序 在我的控制器中,我检查用户是否登录。如果他有一个有效的身份,我切换到表2。如果没有,则返回到表1 我现在的问题是我不确定第二部分和第四部分?您将如何实现这两个功能?您可以根据用户id从服务器发送唯一的用户“配置”文件,这样每个用户都可以按照自

我正在使用推荐的新应用程序结构在ExtJS4上开发一个web应用程序。因此,我需要实现一个认证和权限系统。目前的想法是:

  • 服务器负责确保用户角色和权限
  • ExtJS前端必须根据权限和角色进行更改
  • 我使用卡片布局。第一个选项卡是登录屏幕,第二个选项卡是应用程序
  • 在我的控制器中,我检查用户是否登录。如果他有一个有效的身份,我切换到表2。如果没有,则返回到表1

  • 我现在的问题是我不确定第二部分和第四部分?您将如何实现这两个功能?

    您可以根据用户id从服务器发送唯一的用户“配置”文件,这样每个用户都可以按照自己的方式设置自己的配置,也可以在更改用户配置后使用StateManager保存用户配置。这样,前端将根据权限和角色进行更改。第四部分。我看没什么问题,如果你决定用卡片布局

    setActiveTab( String/Number/Ext.Component card )
    
    编辑:

    您可以使用Ext.AbstractComponent检索“状态”并保存,以便在下次加载时初始化此状态。这不取决于Cookie或本地存储,因此不会过期。用户完成自定义视图后,您可以给他一个保存状态的机会

    • 用户通过身份验证后,将配置选项从服务器转移到存储中。例如:
      Ext.StoreManager.get('ConfigOptionStore').loadData(/*从服务器返回的配置数据*/)
    • 使用
      beforeRender
      事件将组件添加到当前视图(在控制器中执行此操作),如下所示:

      init: function() {
          this.control({
              'myPanel': {
                  beforerender: function(cmp, eOpts){
                  //place the store in a var for easy access
                  var myConfigStore = Ext.StoreManager.get('ActiveUserStore').getAt(0);
      
                  //from here you can use add() to add stuff like so:
                  if (myConfigStore.get('hasMyButton')) {
                      cmp.add({
                          xtype: 'button',
                          text: 'My Button',
                          action: 'doSomething'
                      });
                   }
                   //etc...
               }
           });
      }
      
    • 确保在任何给定时间使用当前配置选项更新存储区的第一条记录(当您
      loadData
      时,只加载一条记录)

    • 这会让你从正确的方向开始。只需确保仅使用最基本的组件创建初始视图,然后根据用户的配置添加自定义组件


    您是否有StateManager的教程或示例?我对extjs非常陌生,没有从文档中了解如何使用它。您将如何插入登录/验证管理器?因为用户可能会离开他的电脑,而当我不得不将其扔回登录屏幕时,会话将过期。否则,他会试图保存一些东西,而不会被允许……我找到了一个例子,但我想州经理可能不是适合我的。据我所知,statemanager根据用户的操作来保护应用程序的状态。这不是我所需要的。我需要自定义界面。这意味着。例如,如果允许用户编辑,则向其显示网格内显示项目的编辑按钮,并允许其加载和打开编辑屏幕。Thx,好主意。在创建视口之前,我只是在应用程序启动时将json加载到var中。考虑到mvc结构,我在构建时将按钮构建到tbar中,但使用隐藏选项隐藏它们:true;