16.01.2013 Views

Microsoft Sharepoint Products and Technologies Resource Kit eBook

Microsoft Sharepoint Products and Technologies Resource Kit eBook

Microsoft Sharepoint Products and Technologies Resource Kit eBook

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 26: Single Sign-On in SharePoint Portal Server 2003 719<br />

Works,” the preceding code corresponds to steps 1 through 5. In addition to this<br />

code, you have to implement steps 6 through 8.<br />

Your code for interacting with the enterprise application such as submitting<br />

credentials <strong>and</strong> retrieving information will be different depending on the type of<br />

application you are accessing. You need to consider that in an enterprise environment,<br />

where a user interacts with many systems <strong>and</strong> applications, it is likely that the<br />

environment does not maintain the user context through multiple processes, products,<br />

<strong>and</strong> computers. This user context is crucial to provide single sign-on capabilities<br />

because it is necessary to verify who initiated the original request. To overcome<br />

this problem, SharePoint Portal Server provides ability to use a Single Sign-On (SSO)<br />

ticket (not a Kerberos ticket). An SSO ticket is an encrypted access token that can be<br />

used to get the credentials that correspond to the user who made the original<br />

request. Also, in the enterprise environment you might consider using <strong>Microsoft</strong> Biz-<br />

Talk Server as a transformation engine for the authentication requests, as well as<br />

requests for data, between your Web Part <strong>and</strong> a format that is understood by the<br />

enterprise application.<br />

An example of such enterprise application integration (EAI) infrastructure is<br />

shown in Figure 26-2. In this scenario, a Web Part gets the information from a line<br />

of business (LOB) back-end application using BizTalk Server 2004. The LOB application<br />

requires authentication. In this example, we will assume that the enterprise<br />

application definition for the LOB application has already been created, <strong>and</strong> the user<br />

credentials have been stored in the SSO database.<br />

The authentication process shown in Figure 26-2 consists of several steps, as<br />

follows:<br />

1. The Web Part calls <strong>Microsoft</strong>.SharePoint.Portal.SingleSignon.Credentials<br />

.ReserveCredentialTicket() with the user. This method reserves a credential<br />

ticket for the user <strong>and</strong> then returns an encrypted access token (SSO ticket) to<br />

the calling Web Part.<br />

2. The Web Part passes the SSO ticket to the BizTalk Server 2004 native SOAP<br />

adapter by calling a Web service that runs on BizTalk Server. The SSO ticket is<br />

passed within the header of the SOAP request. When the SOAP adapter receives<br />

a request containing an SSO ticket, the ticket is stored as the SSO Ticket property<br />

in the context property of the BizTalk message. For details on configuring<br />

BizTalk 2004 SOAP adapter for integration with SharePoint Portal Server single<br />

sign-on, refer to http://msdn.microsoft.com/library/default.asp?url=/library/en-us<br />

/operations/htm/ebiz_ops_adapt_file_eixk.asp.<br />

3. BizTalk passes the SSO ticket to the adapter for the LOB application that has<br />

the ability to call into SSO to redeem user’s credentials using an SSO ticket.<br />

The LOB adapter calls <strong>Microsoft</strong>.SharePoint.Portal.SingleSignon.Credentials<br />

.GetCredentialsUsingTicket().method with the encrypted SSO ticket along with<br />

the enterprise application definition name to retrieve the security credentials

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!