Question
Pegasystems Inc.
GB
Last activity: 5 Feb 2016 4:15 EST
completing the Privileges tab on an Access of Role to Object
so on the Privileges tab of the Access of Role to Object if i specify an access when rule it tells me the rule is not a valid privilege entry
and to Prepend L: why is this needed and what is it doing?
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Virtusa Global IT Services Company
AU
Hi Neil,
I guess inn the privileges tab, you need to enter the privilege rule and you should not enter the access when rule.
Virtusa Consulting Services Pvt. Ltd.
US
Yes. We need to enter the privilges in that tab and assign production level to it. This will grant the user with this access role will have that privilege on that production level system
Pegasystems Inc.
GB
So to clarify, I hjave a privilege rule defined, instead of a level I want to apply a Access-when rule and that’s when I get the error that to use that I must prepend L: to the rule.
Yet on the Secuirty Tab under Security Controls you can enter access when rules instead of providing a level there and no such warning is thrown.
When you prepend the Access When rule with L: it is taken happily just want to understand why this is needed in this case and what its doing
Virtusa Consulting Services Pvt. Ltd.
US
Correct. In security tab, we can directly mention level or access when. But In priviliges tab, it generally expects the level of privilege. So, we have to prepend L: which tells that it should look at the access when rule instead of level
Pegasystems Inc.
GB
So why the difference? There Is no consistency.
Both fields take level but will accept access when rules but one requires a special prefix
Still begs the original question why does it need an L: prefix and what does this do.
Also raises a follow up of what other special pre fixes are there and when / how should they be used
Pegasystems
IN
You can specify multiple whens like
L:when1,when2
Below is the code:
roleExecuteRightInfo.setAuthorizationInfo(AuthorizationInfo.CONDITIONAL);
roleExecuteRightInfo.addConditionalReason(ConditionalReason.RAD_SETTING);
String whens[] = denialValue.substring(2).split(",");
for(String when : whens){
roleExecuteRightInfo.addRuleAccessDenyWhen(when);
}
Virtusa Consulting Services Pvt. Ltd.
US
I am sorry Neil. Sadly, I don't know answer to that. Pega is vast and I am still exploring