BusinessObjects Board

working with access levels: list of SI_RIGHT_ID

Hello,

I’m working on assigning rights on objects from SDK (BI 4.1.SP3).
I see with the query builder how the ROLE_RIGHTS are assignd to an object with the SI_ROLE_RIGHTS tag. But there is no information about a list of rights to assign. I can see the SI_RIGHT_ID tag, but where can I get the list of possible rights?
On SCN is only a post from 2009 (!), where Ted says, “there is no list” and going on the support portal there is NO entry under the keyword “SI_RIGHT_ID”. Searching with google i found only 2 results, one of them the SCN post http://scn.sap.com/thread/1209768 and the other without mentioning the issue.
I can’t believe, that I’m the only one working on this issue.

There are no CONSTANTS regarding the object rights and with the query builder still i didn’t find a clue to get the information.

Is there anyody how worked on this?

Thanks a lot

For now i handled it in the followinf way:

IPluginBasedRightIDs theIPluginBasedRightIDs = null;
		IRightID[] theIRightIDs = null;
		try
		{
			m_ISecurityInfo2 = m_IInfoObject.getSecurityInfo2();
			theIPluginBasedRightIDs = m_ISecurityInfo2.getKnownRightsByPlugin();
			theIRightIDs = theIPluginBasedRightIDs.getMetaPluginRights();
			int nOfRights = theIRightIDs.length;
			for(int i = 0; i < nOfRights; i++)
			{
				System.out.println(theIRightIDs[i].toString());
			}
			
		}
		catch(SDKException e)
		{
			SendMessageToParentCGStatus("ValidateParentID: " +e.getDetailMessage(), CGStatusMessage.CGStatusExceptionGoAhead, this.GetVersionNumbersAndApp());
			
		}

I can get the information only from an existing IInfoObject(as Ted said in his post) and for that i have to create dummy-objects (folders and reports) with ALL RIGHTS explicitly set to get the list. This is not a great thing, but for now i see only this way. If someone has a better idea, would by helpful!

Thank you


Roland Jentsch (BOB member since 2006-02-07)

Hi there,

I was just searching for the same thing last week and did not find very much as well.

There is a tool in the downloads section with which you can document the rights that are contained in an ACL, it also contains the source code, so maybe you can make use of this.

cheers
MU


Miss Universe :de: (BOB member since 2010-02-16)

ma current state is:


	public boolean ReadObjectRights()
	{
		boolean bRead = false;
		IPluginBasedRightIDs theIPluginBasedRightIDs = null;
		IRightID[] theIRightIDs = null;
		IRightID aIRightID = null;
		Map mapPluginCustomRights = null;
		
		try
		{
			m_ISecurityInfo2 = m_IInfoObject.getSecurityInfo2();
			theIPluginBasedRightIDs = m_ISecurityInfo2.getKnownRightsByPlugin();
			
			
			
			theIRightIDs = theIPluginBasedRightIDs.getMetaPluginRights();
			int nOfRights = theIRightIDs.length;
			for(int i = 0; i < nOfRights; i++)
			{
				System.out.println("["+i+"/"+nOfRights+"]"+theIRightIDs[i].toString());
								
			}
		}
		catch(SDKException e)
		{
			SendMessageToParentCGStatus("ValidateParentID: " +e.getDetailMessage(), CGStatusMessage.CGStatusExceptionGoAhead, this.GetVersionNumbersAndApp());
			
		}
		return bRead;
	}

Roland Jentsch (BOB member since 2006-02-07)