Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
dilip1234
Creator
Creator

Section access is not working as expected : Need help

Hi All,

I am new to section access in Qlik sense.

I have following 3 tables with sample data:

Geo Table

GeoNameDocumentStatusSales
IndiaCompleted1400 INR
USAIncomplete2000 INR
CanadaCompleted4500 INR
ANZCompleted1500 INR
RussiaIncomplete2500 INR

Zone Table

ZoneNameDocumentStatusSales
SouthCompleted1400 INR
NorthIncomplete2000 INR
EastCompleted4500 INR
WestCompleted1500 INR
CentralIncomplete2500 INR

Country Table

CountryNameDocumentStatusSales
IndiaCompleted1400 INR
USAIncomplete2000 INR
CanadaCompleted4500 INR
AustraliaCompleted1500 INR
UKIncomplete2500 INR

Now I am showing these table information on map through geo-analytics as below.

GeoMap.PNG

Now when anyone logged on Qlik sense, then only logged in user associated records should get display.

e.g. Permission Matrix is as below:

UserNamePermissionTypeValue
dir\jeevaGeoIndia
dir\jeevaGeoCanada
dir\prasadZoneSouth
dir\prasadCountryIndia

As per above matrix when JEEVA logged in the qlik sense, he should see Geo (India and Canada), he should not see other geo, zone or countries.

My Section access query is as below:

SECTION ACCESS;

LOAD * INLINE

[

     ACCESS, NTNAME, GROUP, GEONAME

     USER, DIR\PRASAD, *, INDIA

     USER, DIR\JEEVA, *, INDIA

];

But when JEEVA is not logged in the Qlik sene, he is getting ACCESS DENIED issue.

Can anyone help me with this issue, might I am doing something wrong with section access script.

Thanks

Dilip Solanki

Thanks
Dilip Solanki
25 Replies
DavidŠtorek
Creator III
Creator III

Hi,

how are your tables linked together? Section access work on same relation principles as usual. So if you aplly this on only one table , because others are not connected, than it will not work as expected.

This is principally allright.

section access;

LOAD * INLINE

[

    ACCESS, USERID,  GEONAME (this must perfectly match with name of field you want to connect to so taking into account your sample it should be GeoName )

    USER, DIR\PRASAD, INDIA

    USER, DIR\JEEVA, INDIA

];

section application;

Of course that values of GeoName should be UPPER CASE.

dilip1234
Creator
Creator
Author

Hi David,

Thanks for answer.

Tried with the same GeoName but not worked for me. Please check my reply below to main post where I am specifying about my concern with simple table.

Thanks

Dilip Solanki

Thanks
Dilip Solanki
dilip1234
Creator
Creator
Author

Hi All,

I have also attached my sample application for below discussion.


Thank you all, as you all are helping me to resolve my issue.

Now I am only trying with simple table, have a look below:

I have some sample data in countries table:

Countries:

Load * inline

[

    COUNTRY

    INDIA

    JAPAN

    USA

    LONDON

    CANADA

];

SECTION ACCESS;

LOAD * INLINE

[

  ACCESS, USERID, COUNTRY

  USER, INTERNAL/SA_SCHEDULER,*

  USER, DIR\DILIP.SOLANKI, CANADA

];

SECTION APPLICATION;



I have used OSUser() in one application to get the currently logged in user details, this function is returning below details:

User Directory: DIR, UserId: dilip.solanki

But dilip.solanki is logged in the application, he is seeing all the data in list. To check the data I have taken on filter box as below:

FilterList.PNG

Can anyone tell me know whats wrong I m doing here, still all countries are visible to dilip.solanki.

I have also attached my sample application.

Thanks

Dilip Solanki

Thanks
Dilip Solanki
dilip1234
Creator
Creator
Author

Hi All,

Thank you very much for your suggestions.

Now I have resolved the issue with your great help.

I have added one more user INTERNAL\SA_SCHEDULER, in my script.

SECTION ACCESS;

LOAD * INLINE

[

  ACCESS, USERID, COUNTRY

  USER, INTERNAL\SA_SCHEDULER,*

  USER, DIR\DILIP.SOLANKI, CANADA

  USER, DIR\DILIP.SOLANKI, LONDON

  USER, DIR\DILIP.SOLANKI, JAPAN

  USER, DIR\J.A.SASIKUMAR, JAPAN

];

SECTION APPLICATION;

Thanks

Dilip Solanki

Thanks
Dilip Solanki
DavidŠtorek
Creator III
Creator III

Hi, you are doing one basic thing wrong. That is order of your load script. All tables that should be secction access applied to must be after Section application; statement. That is why you can see all. So move  your section access part on very beginning and it will work. Attached QVF. is allso correct, but with the same problem.

N.b. for scheduler use better admin permissions.

prat1507
Specialist
Specialist

HI

I read the whole post, but couldn't infer why Jeeva was getting access denied. Was there a particular reason for this?

Regards

Pratyush