4 Replies Latest reply: Jun 1, 2015 4:27 PM by Sergey Polekhin RSS

    Как правильно настроить секцию доступа в скрытом скрипте

    Vladislav Tatarnikov

      Здравствуйте! Подскажите, пожалуйста.

      Можно ли сделать так, чтобы таблица была видна только определенным пользователям?

       

      Пока скрыл только поле, следующим образом (можно ли указать id таблицы или нужно скрывать каждое поле):

       

      Section Access;

      LOAD * INLINE [

      ACCESS,  NTNAME,   OMIT

      ADMIN,     ADMIN,  

      USER,      USER1,     SALES

      USER,      USER2,     SALES

      ............

      ];

      Section Application;

       

      Т.е. доступ к документу имеют admin, user1 и user2. Admin видит всё, user1,2 не видят поле SALES.

       

      Попутно возникло 2 вопроса:

       

      1) Есть ли более удобный способ настройки доступа? При указанном выше способе, при добавлении лицензии новому пользователю, его придется добавить в Section Access и прокачать скрипт.

       

      2) Сделал Section Access в скрытом скрипте и теперь не могу его открыть/отредактировать/удалить (пароль помню):

      HS.png

        • Re: Как правильно настроить секцию доступа в скрытом скрипте
          Sergey Polekhin

          Добрый день,

           

          Ограничение доступа на уровне данных возможно делать либо на уровне поля(ей) целиком, либо на уровне конкретных значений поля. На уровне таблиц это не делается.

           

          По лицензиям: лицензии никак не связаны с секцией доступа.

          Очевидно, что если ставится задача разграничения доступа к данным для каких-то пользователей на уровне записей в модели данных, то для этих пользователей должны быть описаны правила в секции доступа.


          По скрытому скрипту: для его открытия вы должны быть администратором документа (содержимым поля ACCESS в секции доступа для этого пользователя должен быть ADMIN).


          Опять же не забывайте, что для массовых и сложных разграничений доступа целесообразнее использовать не только и не столько Section Access, сколько QlikView Publisher.



            • Re: Как правильно настроить секцию доступа в скрытом скрипте
              Vladislav Tatarnikov

              Сергей, объясните, пожалуйста.. Скрипт с секцией доступа не выполняется из QMC, выдает:

               

              29.05.2015 15:31:23     Error   Document open call failed. The document might require username and password.

              29.05.2015 15:31:23     Error   The document failed to open.

              29.05.2015 15:31:24     Error   Document could not be opened

              29.05.2015 15:31:24     Error   The task ".../тест.qvw" failed. Exception:

               

              QDSMain.Exceptions.

              DistributionFailedException: Distribute failed with errors to follow. ---> QDSMain.Exceptions.ReloadFailedException: Reload failed ---> QDSMain.Exceptions.FailedDocumentCheckoutException: Failed to check out document with path: ...\тест.qvw
                  at QDSMain.ReloadTask.Reload(String fileName, TaskResult taskResult, String sectionAccessUserName, String sectionAccessPassword, eReloadOptions reloadOption, String variableName, String variableValue, Boolean moniterCpuUsage)
                  --- End of inner exception stack trace ---
                  at QDSMain.ReloadTask.Reload(String fileName, TaskResult taskResult, String sectionAccessUserName, String sectionAccessPassword, eReloadOptions reloadOption, String variableName, String variableValue, Boolean moniterCpuUsage)
                  at QDSMain.DistributeTask.Execute(TaskResult currentTaskResult)
                  --- End of inner exception stack trace ---
                  at QDSMain.DistributeTask.Execute(TaskResult currentTaskResult)
                  at QDSMain.Task.AbstractTask.TaskExecution(ILogBucket logBucket, TaskResult taskResult)

               

              Аутентификацию провожу только по NTNAME:

              Section Access;

              LOAD * INLINE [

              ACCESS, NTNAME, OMIT

              ....