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
agigliotti
Partner - Champion
Partner - Champion

take care of case sensitive feature of Qlik.

all section access tables content MUST be in uppercase.

dilip1234
Creator
Creator
Author

Thanks Andrea, But I have already used all contents in uppercase only.

Thanks
Dilip Solanki
agigliotti
Partner - Champion
Partner - Champion

It doesn't seems looking at your table above...India, Canada, etc...

anyway take a look at https://help.qlik.com/en-US/sense/February2018/Subsystems/Hub/Content/Scripting/Security/manage-secu...

it has only ACCESS and USERID columns.

try the script below:

SECTION ACCESS;

SA:

LOAD * INLINE

[

     ACCESS, USERID, SA_GEONAME

     USER, DIR\JEEVA, INDIA

];

SECTION APPLICATION;

LOAD

    USERID,

    SA_GEONAME AS GEONAME

RESIDENT SA;

where GEONAME is the field name for data reduction on.

dilip1234
Creator
Creator
Author

Thanks Andrea.

I have implemented the same way you have suggested. But its seems not as expected.

See my section access query:

SECTION ACCESS;

SA:

LOAD * INLINE

[

  ACCESS, USERID, SA_GEONAME

  ADMIN, DIR\DHARMESH.BAROCHIA, *

  USER, DIR\J.A.SASIKUMAR, INDIA

  USER, DIR\DILIP.SOLANKI, INDIA

  USER, DIR\DILIP.SOLANKI, CANADA

  USER, DIR\DILIP.SOLANKI, ANZ

];

SECTION APPLICATION;

LOAD

    USERID,

     SA_GEONAME AS GEONAME

RESIDENT SA;

Now when Dilip.Solanki is logged in the application he is not seeing section access reflects. Dilip is getting all the GeoName instead of INDIA, CANADA and ANZ.

Can you suggest if I am doing anything wrong here?

Thanks

Dilip Solanki

Thanks
Dilip Solanki
agigliotti
Partner - Champion
Partner - Champion

is GEONAME field linked to some other table field in your data model?

let me know.

dilip1234
Creator
Creator
Author

No Andrea. I have only 3 tables GeoTable, ZoneTable and CountryTable. GeoName field is only in GeoTable.

Let me know if any other clarification required.

Thanks
Dilip Solanki
agigliotti
Partner - Champion
Partner - Champion

ok but in GeoTable the field should be renamed in GEONAME.

sasiparupudi1
Master III
Master III

Try

SECTION ACCESS;

SA:

LOAD * INLINE

[

     ACCESS, USERID, SA_GEONAME

     USER, DIR\JEEVA, INDIA

];

SECTION APPLICATION;

Temp_Geo _able:

LOAD

    UPPER(Geo Table) as SA_GEONAME

    ,*

RESIDENT [Geo Table];

Drop table [Geo Table];

Rename Temp_Geo_Table to [Geo Table];

Anonymous
Not applicable

Are you running your app load from a task?  If so, you will need an entry in your inline table for INTERNAL\SA_SCHEDULER.