Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
rittermd
Master
Master

Section Access in Qlik Sense

I have this almost working the way that I want.

Section Access;

Load * INLINE [

  ACCESS,USERID,CUSTOMERID

  USER,WIN-IVTIROI5TAF\mritter,16

  USER,WIN-IVTIROI5TAF\mritter,18

  USER,WIN-IVTIROI5TAF\mritter,40

  USER,WIN-IVTIROI5TAF\testuser1,*

  ];

The issue I am having is that I want testuser1 to be able to access all CUSTOMERID.  The * is not working.  How can I do this?

Also, after I get this working conceptually I want to replace the Inline table with a real table that contains the userid and customerids they can access.  Can anyone point me in the right direction on how to do that?

11 Replies
Gysbert_Wassenaar

The * means all listed values, not all values. If you want the user to have access to all CUSTOMERID values then you should leave the entry blank.

If you have a table with userid's and the customerid's they are allow to access you can load that data into the section access table. It's probably wise to add a user with ADMIN access too:

Section Access;

LOAD * INLINE [

ACCESS, USERID, CUSTOMERID

ADMIN, AdminstratorName

];

CONCATENATE

LOAD

     'USER' as ACCESS,

     userid as USERID,

     customerid as CUSTOMERID

FROM

     ...source_table...

     ;


talk is cheap, supply exceeds demand
rittermd
Master
Master
Author

Everything I have read say that you only have a USER option and not ADMIN in Qlik Sense.

Also, I must be doing something wrong.  When I leave the customerid blank for testuser1 then I get access denied when I try to login as them and access the app.

I tried it like this and with a , after testuser1 and both got access denied

Section Access;

Load * INLINE [

  ACCESS,USERID,CUSTOMERID

  USER,WIN-IVTIROI5TAF\mritter,16

  USER,WIN-IVTIROI5TAF\mritter,18

  USER,WIN-IVTIROI5TAF\mritter,40

  USER,WIN-IVTIROI5TAF\testuser1,

  ];

Gysbert_Wassenaar

Well, a user with ADMIN access will have access to all the data in the app. That's certainly a reason not to give everybody that kind of access, but I reckon it's a good idea to have at least one user that has access to all the data in a document.

Perhaps section access works different in Qlik Sense also in other regards then Qlikview. Perhaps you need to explicitly set star to a value: Star ‒ Qlik Sense‌. So try adding a line Star is *; just before the section access table. Then using * should mean all values, instead of all listed values.


talk is cheap, supply exceeds demand
vlad_komarov
Partner - Specialist III
Partner - Specialist III

Gysbert, Mark,

I've tried to use "blank" value instead of * and it does not work for showing "all values". Qlik Support confirmed that.

Using "Star is *;" statement did not help much..

I've ended up using pre-loaded table with "all values"

PreSecurityFullLoad:

load * Inline [

ACCESS, USERID, REDUCTION, OMIT

USER, AAAAAA\JOHN.SMITH,NORTHEAST,

USER, AAAAAA\JOHN.SMITH,MIDWEST,

USER, AAAAAA\JOHN.SMITH,SOUTH

USER, AAAAAA\JOHN.SMITH,WEST,

];

And joining the table above into the Section Access table...

Looks like QS handles it differently than QV.

Regards,

Vladimir

Gysbert_Wassenaar

Ah, I was afraid of that. I hope Qlik fixes this soon. Thanks vlad.komarov‌!


talk is cheap, supply exceeds demand
vlad_komarov
Partner - Specialist III
Partner - Specialist III

They are "investigating it" :-).

I have a case open, so I might have an update on that at some point.

Regards,

Vladimir

rittermd
Master
Master
Author

Thanks to both of you.

parimikittu
Creator II
Creator II

Hi Vladimir,

Any update from Qlik on this?

mborsadw
Partner - Creator
Partner - Creator

What has worked for me is to add one entry per customerId for an admin user. Lets say , the unique list of customerID's is 16,18,20, 22, 26, 40, 50

Section Access;

Load * INLINE [

  ACCESS,USERID,CUSTOMERID

  USER,WIN-IVTIROI5TAF\mritter,16

  USER,WIN-IVTIROI5TAF\mritter,18

  USER,WIN-IVTIROI5TAF\mritter,40

  USER,WIN-IVTIROI5TAF\testuser1,*

  USER,WIN-IVTIROI5TAF\someadmin,16

  USER,WIN-IVTIROI5TAF\someadmin,18

  USER,WIN-IVTIROI5TAF\someadmin,20

  USER,WIN-IVTIROI5TAF\someadmin,22

  USER,WIN-IVTIROI5TAF\someadmin,26

  USER,WIN-IVTIROI5TAF\someadmin,40

  USER,WIN-IVTIROI5TAF\someadmin,50

  ];

Now, * will for testuser1