1 Reply Latest reply: Dec 20, 2017 2:13 PM by Shahbaz Khan Mohammed RSS

    How manage Access security with 2 fields ?

    Patrice Tremblay

      I have some questions concerning managing security with ACCESS section :


      i want to give access to users depending on the
      value given for a group made of the concatanation of 2 fields.


      I want give access to a user that have for
      example : For Qlik2, the value of EXT or INT field equal to 33 OR 10.

      Here is my exemple -->

      Section Access :

      LOAD * INLINE [
          ACCESS, USERID,  EXT_INT

          ADMIN,INTERNAL\sa_scheduler, *
          USER,  MTL/Qlik1,  *|*
          USER,  MTL/Qlik2,  33|10
          USER,  MTL/Qlik3,  51|18
          USER, MTL/Qlik4,  76|76
          USER,  MTL/Qlik5,  51|51
      ]=
      where 1=1;

       

      Section Application :  (QVD)

      Table-test:
        Seq. No. XXXXXXX       Ext  Int   EXT_INT*
             1   99 YYYYYYYYYY 42   18    42|18
             2   99 YYYYYYYYYY 51  23    51|23
             3   99 YYYYYYYYYY 63  51    63|51
             4   99 YYYYYYYYYY 66  11    66|11
             5   99 YYYYYYYYYY 12  21    12|21
             6   99 YYYYYYYYYY 10  11    10|11
             7   99 YYYYYYYYYY 51  77    51|77
             8   99 YYYYYYYYYY 66  32    66|32

       

      * : The last column is a concatenation of fields EXT and INT

       

      This is what i would like :

      I want user Qlik1 to have access to every record of Table-test (1 to 8)

      I want user Qlik2 to have access to record 6
      I want user Qlik3 to have access to record 1, 2, 3 and 7
      I want user Qlik4 to have no access
      I want user Qlik5 to have access to record 2, 3 et 7

        • Re: How manage Access security with 2 fields ?
          Shahbaz Khan Mohammed

          The Section Access would only read the values available in Inline load you gave.... if they are missing the user won't see it. In order for Qlik1 User to see all the values, the Section Access Field EXT_INT should have all values present.

          And for other users who have more than 1 value needs to be repeated....

          Maybe there is a better way to do it but I don't know.

           

          Star is *;

          Section Access :

          LOAD * INLINE [

              ACCESS, USERID, EXT_INT

              ADMIN, INTERNAL\sa_scheduler, *

              USER, MTL/Qlik1, *

              USER, MTL/Qlik2, 10|11

              USER, MTL/Qlik3, 51|18

              USER, MTL/Qlik5, 51|51

              , , 42|18

              USER, MTL/Qlik2, 51|23

              USER, MTL/Qlik2, 63|51

              , , 66|11

              , , 12|21

              USER, MTL/Qlik2, 51|77

              , , 66|32

              USER, MTL/Qlik5, 51|77

              USER, MTL/Qlik5, 63|51

              USER, MTL/Qlik5, 51|23

          ]=

          where 1=1;

           

          Section Application :  (QVD)

          Table-test:
            Seq. No. XXXXXXX       Ext  Int   EXT_INT
                 1   99 YYYYYYYYYY 42   18    42|18
                 2   99 YYYYYYYYYY 51  23    51|23
                 3   99 YYYYYYYYYY 63  51    63|51
                 4   99 YYYYYYYYYY 66  11    66|11
                 5   99 YYYYYYYYYY 12  21    12|21
                 6   99 YYYYYYYYYY 10  11    10|11
                 7   99 YYYYYYYYYY 51  77    51|77
                 8   99 YYYYYYYYYY 66  32    66|32