Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Dynamic role assignment

Hi,

i want to assign to an user a new role depending on one of the selection made in an iview. I used the following code:

private static String FED_MODE = "FED";
private static String FED_ROLE = "FED_ROLE";

IRoleFactory roleFactory = UMFactory.getRoleFactory();
String authentificationMode =
  wdContext.currentGeneralInformationElement()
    .getAuthentificationMode();
if (roleFactory != null) {
  if (authentificationMode.equalsIgnoreCase(FED_MODE)) {
    roleFactory.addUserToRole(portalid,FED_ROLE);
  }
  else {
    roleFactory
      .removeUserFromRole(portalid,"Federal_Role");	
  }
}

i get the following exception:

"The given ID "testuser" is not valid!"

The user-id "testuser" is correct because i use IUserMaint to change thisuser email address and it works fine.

Thanks for the reply,

Peter Ha

Message was edited by: Armin Reichert

(code formatted)

Former Member
Former Member replied

There are 2 kinds of IDs -- unique principal ID and "almost-human-readable" logon ID.

In your case it seems that you have logon ID, but method requires unique principal ID.

Do not remember exactly, but you may convert it via smth. like that:

UMFactory.getUserFactory().getUserByLogonID("testuser").getUniqueID();

VS

0 View this answer in context
Not what you were looking for? View more on this topic or Ask a question