Securities

let us i have 2 end users in diff locations.
but i dont want to show the data of enduser 1 to enduser 2.
for that where should i apply security?
in the universe level? or report level?

give me answer step by step?


bobj4041 (BOB member since 2014-02-05)

if you’re restricting on data and have a universe on a relational database, then you can set up a table in that database, which would contain the user name and then the key they have access to. for example, i did a project where users were restricted to only see the company codes they were asssigned to. so the table would have userID and companycode. then there is a join from the security table to the data table on company code. then set up a predefined condition that says userID is not null and make that condition required for all queries on the universe. @variable(‘bouser’) returns the username in the universe, you also set up a join that says @variable(‘bouser’)=securitytable.userID. So when the query is run on the report BOBJ checks the user ID, selects the matching row in the security table and via the join on company code only returns related data.


erik.stenson :us: (BOB member since 2012-07-30)