cancel
Showing results for 
Search instead for 
Did you mean: 

Generate SSO ticket in ABAP

Former Member
0 Kudos

Hi,

I noticed that the rfc library has an option to generate an <b>SSO2</b> ticket based on the logon using <b>GETSSO2=1</b> in <b>RfcOpenEx</b> and then using <b>RfcGetTicket</b>.

I need the same functionality but in <b>ABAP</b> code: I need to generate an <b>SSO2</b> ticket based on the current logged on user in my <b>ABAP</b> program.

Is it possible?

Many thanks,

Dani

Accepted Solutions (0)

Answers (1)

Answers (1)

athavanraja
Active Contributor
0 Kudos

check out the code in ENABLE_SAPSSO method of class CL_GUI_HTML_VIEWER. utilizing this code you can generate SSO2 cookie in the client.

Regards

Raja

athavanraja
Active Contributor
0 Kudos

using the code sample i mentioned in theprevious post would throw "illegal caller (ABAP callstack)" if its called within abap environment and would require html control , you can have a hidden html control and still use the method to generate sso2 cookie.

but if you could tell us what you are intending to with this may be we can think of an alternative.

Regards

Raja

Former Member
0 Kudos

Please see the post https://www.sdn.sap.com/irj/sdn/profile?userid=2848653

where I explain in detail what I am trying to acheive.

athavanraja
Active Contributor
0 Kudos

Ok i understand your requirement.

call method html_viewer->enable_sapsso( 'X' ) is to generate sso2cookie on the client side. this would prevent repeated logon in the same browser session.

in this mechanism first you call the application within the controller and would prompt user authentication and for further calls you will not be prompted for log on. (without enable_sapsso , for each request you will be prompted for authentication).

having said that in this scenario if your .net application is calling a url pointing to the abap system say a bsp application you will not be required to authenticate again, but if you are calling a RFC then you would still need to pass the authentication info in the RFC call from .net application.

i have no knowledge on the .net side. but one way to over come this is to create a bsp application which inturn calls the desired RFC and returns data . call this bsp from your .net application instead of the RFC directly. this should theoratically work without further requestion for authentication (when enable_sapsso is set to 'X'. )

Regards

Raja