Thursday, November 19, 2009

SharePoint Authentication Model

IIS handles base HTTP requests, but Windows SharePoint Services implements an Internet Server API (ISAPI) filter (STSFLTR.DLL) that modifies IIS behavior to handle managed paths, or inclusions and exclusions.
The ISAPI filter either redirects requests to the Windows SharePoint Services ISAPI extension, or it allows ASPX pages (.aspx) and Web service URLs (.asmx) to fall through the filter to the SharePoint ASP.NET handler.
SharePoint ISAPI filter sits on IIS and checks all the incoming requests and modifies IIS behavior to handle http requests. So whenever a user requests a SharePoint managed URL, it challenges the users for credentials based on defined authentication scheme on IIS.
Single Sign On in an Enterprise & Problem Definition:
Many Organizations maintain its employee’s, users’ information in LDAP or Active Directory. They use 3rd party applications like Netegrity Site Minder policy servers as a mechanism for Single Sign On. The SiteMinder application is used to authenticate users for different applications like HR, Payroll, Employee Self services and many more.
But for SharePoint applications, users must be registered as system users in ordered to use full and secured functionality. If you set basic authentication on, then whenever user requests a SharePoint site URL, the browser pops up a dialog box to get user name and password. This is truly annoying. As of now, SharePoint doesn’t provide forms based authentication so that users can enter their credentials in a web page and access SharePoint services easily.
Integrating 3rd Party SSO with SharePoint Portal:
To solve this problem, we need to write our own ISAPI Extension on top of SharePoint ISAPI filter. Our ISAPI extension gets the credentials from a web page and allows the user to login into SharePoint services.
Before explaining the solution to this problem, It's assumed that you already have a setup of 3rd party single sign on solution, SiteMinder for this example, and you are using SiteMinder as a mechanism to authenticate your web applications.
Let’s discuss step by step approach to solve this problem.
  • Installing SiteMinder Agent on the box where SharePoint Services exists.
  • Protect your websites using SiteMinder administration tool.
  • Install Custom Authentication ISAPI filter on IIS 6.0
  • Configure Custom Authentication Filter.
  • Develop ad-hoc application to allow the user to login into the system with out challenging him again for credentials.

http://www.theserverside.net/tt/articles/showarticle.tss?id=ImplementingSSO

No comments:

Post a Comment