13.07.2015 Views

Microsoft SharePoint. Building Office 2007 Solutions in VB 2005 ...

Microsoft SharePoint. Building Office 2007 Solutions in VB 2005 ...

Microsoft SharePoint. Building Office 2007 Solutions in VB 2005 ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

32CHAPTER 2 ■ SHAREPOINT OVERVIEW, PLANNING, AND INSTALLATIONseveral different authentication providers <strong>in</strong>clud<strong>in</strong>g NT LAN Manager (NTLM), Kerberos,and Forms authentication, you should give some thought to access and authentication todeterm<strong>in</strong>e the best comb<strong>in</strong>ation.NTLM and KerberosIntegrated W<strong>in</strong>dows Authentication is the simplest form of authentication for browser applicationswhere the end user has a W<strong>in</strong>dows account. Whenever a user browses to a site thatuses Integrated W<strong>in</strong>dows Authentication, the browser sends a token to the server identify<strong>in</strong>gthe W<strong>in</strong>dows account of the user. If the server can authenticate the user with this <strong>in</strong>formation,access is granted. If the server cannot authenticate the user, a log<strong>in</strong> box appears prompt<strong>in</strong>gthe user to enter credentials manually. Both NTLM and Kerberos are forms of IntegratedW<strong>in</strong>dows Authentication.NTLM uses a challenge-response protocol to authenticate the client to the server. It beg<strong>in</strong>swhen the client attempts to connect to a secure application. The server sends a challenge to theclient, and the client responds with a hashed value that the server can use to validate the userand password. All of this is seamless to the end user who simply sees the requested web pageopen <strong>in</strong> the browser.NTLM is simple, works well, and developers have often been able to ignore authenticationconcerns because it was essentially transparent. As security concerns have grown, however, theneed for a more secure authentication provider has become <strong>in</strong>creas<strong>in</strong>gly obvious. This is whereKerberos comes <strong>in</strong> to the picture.Kerberos is a ticket-based authentication protocol. When a client wants to access asecure application, it requests a ticket from the key distribution center (KDC), which is theserver runn<strong>in</strong>g Active Directory. The KDC then creates a ticket based on the user credentialsstored <strong>in</strong> Active Directory. The ticket is then sent back to the client, which can only use theticket if it has the correct password. Once the user is authenticated, the ticket is cachedlocally where it rema<strong>in</strong>s until it expires.Kerberos has several advantages over NTLM that <strong>SharePo<strong>in</strong>t</strong> developers should care about.First, Kerberos has much better performance than NTLM. Because Kerberos caches credentials,servers can respond more quickly than under NTLM. Kerberos is also more secure than NTLMbecause the client can essentially authenticate the server as well as have the server authenticatethe client. The biggest reason for developers to care about Kerberos, however, is delegation.Take a step back and consider the process of connect<strong>in</strong>g to a WSS team site us<strong>in</strong>g NTLMauthentication. We know that NTLM will successfully authenticate a user that has a W<strong>in</strong>dowsaccount and grant access to the team site, which will then appear <strong>in</strong> the browser. While mostof the page content will appear correctly, what if a web part on that page displays <strong>in</strong>formationfrom a l<strong>in</strong>e-of-bus<strong>in</strong>ess system with its own separate database? The web part itself must alsoauthenticate aga<strong>in</strong>st this other database. What credentials does it use? In many cases, we wantthe web part to use the same credentials as the current user. In other words, we want the webpart to impersonate the current user.<strong>SharePo<strong>in</strong>t</strong> sites are set up so that web parts will <strong>in</strong>itially impersonate the user access<strong>in</strong>gthem. The user credentials may subsequently be passed to any system resid<strong>in</strong>g on the sameserver as <strong>SharePo<strong>in</strong>t</strong> or on a different server that requires only a s<strong>in</strong>gle additional authentication.If the data source requires a second authentication—like when you access a web service,which subsequently accesses a database—the impersonation will fail. This is typically referredto as the “double-hop” issue.

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

Saved successfully!

Ooh no, something went wrong!