Export (0) Print
Expand All

Plan authentication methods (Office SharePoint Server)

Updated: April 23, 2009

Applies To: Office SharePoint Server 2007

Updated: 2009-04-23

In this article:

This article describes the authentication methods that are supported by Microsoft Office SharePoint Server 2007. After reading this article, you will be able to:

  • Understand how authentication is implemented in Office SharePoint Server 2007.

  • Identify the authentication methods that are appropriate for your environment.

About authentication

Authentication is the process of validating a user's identity. After a user's identity is validated, the authorization process determines which sites, content, and other features the user can access.

In Office SharePoint Server 2007, the authentication process is managed by Internet Information Services (IIS). After IIS performs authentication of users, the security features in Office SharePoint Server 2007 perform the authorization process.

For more information about implementing Office SharePoint Server 2007 authorization, see Plan site and content security (Office SharePoint Server).

Planning for authentication is important not only to protect your solution by validating users' identities, but also to secure user credentials over the network.

Supported authentication methods

Office SharePoint Server 2007 provides a flexible and extensible authentication system, which supports authentication for identity management systems that are based or are not based on the Microsoft Windows operating system. By integrating with ASP .NET pluggable authentication, Office SharePoint Server 2007 supports a variety of forms-based authentication schemes. Authentication support in Office SharePoint Server 2007 enables a variety of authentication scenarios, including:

  • Using standard Windows authentication methods.

  • Using a simple database of user names and passwords.

  • Connecting directly to an organization's identity management system.

  • Using two or more methods of authentication for accessing partner applications (for example, connecting to your partner company's identity management system for authenticating partner employees while using Windows authentication methods to authenticate your internal employees).

  • Participating in federated identity management systems.

The following table lists the supported authentication methods:

Authentication method Description Examples

Windows

The standard IIS Windows authentication methods are supported.

  • Anonymous

  • Basic

  • Digest

  • Certificates

  • Kerberos (Integrated Windows)

  • NTLM (Integrated Windows)

ASP.NET forms

Office SharePoint Server 2007 adds support for identity management systems that are not based on Windows by integrating with the ASP.NET forms authentication system. ASP.NET authentication enables Office SharePoint Server 2007 to work with identity management systems that implement the MembershipProvider interface. You do not need to rewrite the security administration pages or manage shadow Active Directory directory service accounts.

  • Lightweight Directory Access Protocol (LDAP)

  • SQL database or other database

  • Other ASP.NET-based forms authentication solutions

Web Single Sign-On (SSO)

Office SharePoint Server 2007 supports federated authentication through Web SSO vendors. Web SSO enables SSO in environments that include services running on disparate platforms. You do not need to manage separate Active Directory accounts.

  • Active Directory Federation Services (AD FS)

  • Other identity management systems

Authentication of system accounts

ASP.NET forms authentication and Web SSO can be used to authenticate only user accounts. The process accounts used to connect to Microsoft SQL Server database software and run the Web farm must be Windows accounts, even when using alternative methods of authentication to authenticate users.

Office SharePoint Server 2007 supports SQL Server authentication and local computer process accounts for farms that are not running Active Directory. For example, you can implement local accounts by using identical user names and passwords across all servers within a farm.

Configure authentication

Although configuring Windows authentication is a straightforward process, configuring authentication to use ASP.NET forms or Web SSO requires more planning. This section provides a summary of how authentication is configured in Office SharePoint Server 2007. This information will help you understand how to put together an authentication strategy for your solution and determine who in your organization needs to be involved in planning for authentication.

Configure authentication for SharePoint Web applications

Authentication in Office SharePoint Server 2007 is configured at the SharePoint Web application level. The following diagram illustrates a Windows SharePoint Services server farm that is configured to host sites for multiple companies. Authentication is configured separately for each company.

Hosting authentication for two different companies

When you initially create or extend a Web application, you are presented with a limited number of authentication options (Kerberos, NTLM, and anonymous). If you are using one of these methods, you can configure authentication when you create or extend the Web application.

The following illustration shows the limited authentication choices that are available when you initially create or extend a Web application:

Default authentication settings

However, if you are using different authentication settings, select the default authentication options, and then configure authentication after the Web application is created or extended. (To do so, in Central Administration, on the Application Management page, in the Application Security section, select Authentication providers, and then click the zone to open the Edit Authentication page.) The settings that are configured on this page depend on the type of authentication that is selected: Windows, forms, or Web SSO.

The following illustration shows the Edit Authentication page:

Edit Authentication page

Depending on the authentication choices that you select in Central Administration, additional configuration might be necessary. The following table summarizes the configuration steps based on the authentication method. This table also indicates if specialized roles in addition to SharePoint Administrator are needed.

Authentication method Additional configuration Specialized roles

Anonymous,

None

None

Basic

None

None

Digest

Configure digest authentication directly in IIS.

None

Certificates

  1. Select Windows authentication in Central Administration.

  2. Configure IIS for certificate authentication.

  3. Enable Secure Sockets Layer (SSL).

  4. Obtain and configure certificates from a certification authority (CA).

Windows Server 2003 administrator, to obtain and configure certificates

NTLM (Integrated Windows)

None

None

Kerberos (Integrated Windows)

  1. Configure the Web application to use Kerberos authentication.

  2. Configure a Service Principal Name (SPN) for the domain user account that is used for the application pool identity (application pool process account).

  3. Register the SPN for the domain user account in Active Directory.

IIS administrator

Forms

  1. Register the membership provider in the Web.config file for the SharePoint Web application.

  2. Register the role manager in the Web.config file for the SharePoint Web application (optional).

  3. Register the membership provider in the Web.config file for the Central Administration site.

  • ASP.NET developer

  • Administrator of the identity management system you are connecting to

Web SSO

In addition to configuration steps required for ASP.NET forms authentication, register an HTTP module for the Web SSO provider.

  • ASP.NET developer

  • Administrator of the identity management system you are connecting to

Connect to identity management systems that are external or not based on Windows

To use ASP.NET forms or Web SSO to authenticate users against an identity management system that is not based on Windows or that is external, you must register the membership provider in the Web.config file. In addition to registering a membership provider, you can register a role manager as well. Office SharePoint Server 2007 uses the standard ASP.NET role manager interface to gather group information about the current user. Each ASP.NET role is treated like a domain group by the authorization process in Office SharePoint Server 2007. You register role managers in the Web.config file the same way you register membership providers for authentication.

If you want to manage membership user or roles from the Central Administration site, you can optionally register the membership provider and the role manager in the Web.config file for the Central Administration site (in addition to registering these in the Web.config file for the Web application that hosts the content).

Ensure that the membership provider name and role manager name that you registered in the Web.config file is the same as the name that you entered in the Central Administration Authentication.aspx page. If you do not enter the role manager in the Web.config file, the default provider specified in the machine.config file might be used instead.

For example, the following string in a Web.config file specifies a SQL membership provider:

<membership defaultProvider="AspNetSqlMembershipProvider">

For additional information about using ASP.NET forms authentication to connect to a SQL Server authentication provider, see Authentication samples.

Finally, if you are using Web SSO to connect to an external identity management system, you must also register an HTTP module for the Web SSO. An HTTP module is an assembly that is called on every request made to your application. HTTP modules are called as part of the ASP.NET request pipeline. For more information, see Introduction to HTTP Modules (http://go.microsoft.com/fwlink/?LinkId=77954&clcid=0x409).

Integrating with ASP.NET forms authentication places additional requirements on the authentication provider. In addition to registering the various elements in the Web.config file, the membership provider, role manager, and HTTP module must be programmed to interact with Office SharePoint Server 2007 and ASP.NET methods, as indicated in the following table:

Category Description

Membership provider

To work with Office SharePoint Server 2007, the membership provider must implement the following methods:

  • GetUser (String)   Office SharePoint Server 2007 calls this method to resolve user names during invitations and to get the user's display name.

  • GetUserNameByEmail   Office SharePoint Server 2007 calls this method to resolve user names in invitations.

  • FindUsersByName, FindUsersByEmail   Office SharePoint Server 2007 calls these methods to populate the user picker control on the Add Users page. If the membership provider does not return any users, the picker will not function and administrators will need to type the user name or e-mail address in the Add User text box.

Role manager

The role manager must implement the following methods:

  • RoleExists   Office SharePoint Server 2007 calls this method during invitations to verify that a role name exists.

  • GetRolesForUser   Office SharePoint Server 2007 calls this method at access check to gather the roles for the current user.

  • GetAllRoles   Office SharePoint Server 2007 calls this method to populate the group and role picker. If the role provider does not return any groups or roles, the Office SharePoint Server 2007 picker will not function and the administrator will need to type the name of the role in the Add User text box.

HTTP module

The HTTP module must handle the following events:

  • AuthenticateRequest   This event is called when ASP.NET is ready to authenticate the user. The Web SSO module must unpack the user's authentication cookie and set the HttpContext.User object with the identity of the current user.

  • EndRequest   This is the last event in the ASP.NET pipeline. This event is called just before returning the code to the client. The Web SSO module must capture 401 responses coming from Office SharePoint Server 2007 and turn these into an appropriate 302 redirect for authentication to the Web SSO logon server.

Enabling Anonymous Access

You can enable anonymous access for a Web application in addition to configuring a more secure authentication method. With this configuration, administrators of sites within the Web application can choose to allow anonymous access. If anonymous users want to gain access to secured resources and capabilities, they can click a logon button to submit their credentials.

Using different authentication methods to access a site

You can configure Web applications in Office SharePoint Server 2007 to be accessed by up to five different authentication methods or identity management systems. The following figure illustrates a partner application that is configured to be accessed by users from two different identity management systems. Internal employees are authenticated by using one of the standard Windows authentication methods. Employees of the partner company are authenticated against their own company's identity management system.

Manage Authentication options diagram

To configure a Web application to be accessed by two or more different authentication systems, you must configure additional zones for the Web application. Zones represent different logical paths of gaining access to the same physical application. With a typical partner application, employees of a partner company access the application through the Internet, while internal employees access the application directly through the intranet.

To create a new zone, extend the Web application. On the Extend Web Application to Another IIS Web Site page, in the Load Balanced URL section, specify the URL and zone type. The zone type is simply a category name applied to the zone and does not affect the configuration of the zone.

After extending the Web application, you can configure a separate authentication method for the new zone. The following figure shows the Authentication Providers page for a Web application that is configured by using two different zones. The default zone is the zone used by internal employees. The Internet zone is configured for partner access and uses ASP.NET forms to authenticate partner employees against the partner identity management system.

A Web application configured with two zones

Plan authentication for crawling content

To perform successful crawls of content in a Web application, you must understand the authentication requirements of the index component of the index server (also known as the crawler). This section describes how to configure authentication for Web applications to ensure that content in the Web applications can be successfully crawled.

When a farm administrator creates a Web application by using all default settings, the default zone for that Web application is configured to use NTLM. The farm administrator can change the authentication method for the default zone to any authentication method supported by Office SharePoint Server 2007.

The farm administrator can also extend a Web application one or more times to enable additional zones. Up to five zones can be associated with a particular Web application, and each zone can be configured to use any authentication method supported by Office SharePoint Server 2007.

By default, the crawler uses NTLM when crawling content. A search service administrator can also create a crawl rule to configure the crawler to use a different authentication method, such as basic authentication or a client certificate, instead of NTLM, when crawling a particular range of URLs. For more information about crawl rules, see Plan to crawl content (Office SharePoint Server).

Order in which the crawler accesses zones

When planning the zones for a Web application, consider the polling order in which the crawler accesses zones when attempting to authenticate. The polling order is important, because if the crawler encounters a zone configured to use digest authentication or Kerberos authentication that does not use a standard port (80 or 443), authentication fails and the crawler does not attempt to access the next zone in the polling order. If this occurs, the crawler will not crawl content on that Web application.

TipTip:

Ensure that the authentication method configured for the crawler is earlier in the polling order than a zone configured for Kerberos that uses a non-standard port or digest authentication.

The crawler polls the zones in the following order:

  • Default zone

  • Intranet zone

  • Internet zone

  • Custom zone

  • Extranet zone

The following figure shows the decisions that are made by the authentication system when the crawler attempts to authenticate:

How the crawler polls zones
Polling order used by the crawler

The following table describes the actions associated with each callout in the figure.

Callout Action

1

Crawler attempts to authenticate by using the default zone.

NoteNote:

The crawler always attempts to use the default zone first when attempting to authenticate.

2

If the authentication methods configured for the crawler and the zone are the same, the crawler is authenticated and proceeds to the authorization phase. Otherwise, proceed to step 3.

3

If the zone is configured for Kerberos authentication, proceed to step 4. Otherwise, proceed to step 5.

4

If the zone is configured to use either port 80 or port 443, the crawler is authenticated and proceeds to the authorization phase. Otherwise, authentication fails and the crawler does not attempt to authenticate by using another zone. This means the content is not crawled.

5

If there are no more zones in the polling order, authentication fails and the content is not crawled. Otherwise, proceed to step 6.

6

Crawler attempts to authenticate by using the next zone in the polling order. Return to step 2.

If you configure the default zone to use an authentication method that the crawler does not support — for example, Web SSO — you must create at least one additional zone and configure this zone to use certificates, basic authentication, Kerberos using a standard port, or NTLM. If certificates or basic authentication is used to crawl the Web application, the search service administrator must create a crawl rule to configure the crawler to use the appropriate authentication method when crawling that Web application. Consider the following scenario.

Authentication scenario

The farm administrator creates a Web application and configures it to use forms authentication. Because the farm administrator wants the content in the Web application to be crawled and indexed, and because she knows that the crawler requires a zone configured with NTLM, basic authentication, or certificates, the farm administrator extends the Web application and configures the intranet zone to use NTLM.

When the crawler attempts to authenticate by using the default zone, the authentication system discovers that the crawler and the zone are not configured to use the same authentication method. Because the zone is not configured for Kerberos using a non-standard port or digest authentication and there is at least one additional zone in the polling order, the crawler attempts to authenticate by using the intranet zone. Because the intranet zone is configured to use NTLM and the crawler also uses NTLM, then by default authentication succeeds.

Note that, if the farm administrator had configured the intranet zone for basic authentication instead of NTLM, the search service administrator would need to create a crawl rule to configure the crawler to use basic authentication when crawling that particular Web application. Otherwise, authentication would fail and the content would not be crawled. Likewise, if the farm administrator had configured the intranet zone to use a client certificate, the search service administrator would need to create a crawl rule to configure the crawler to use a client certificate when crawling that particular Web application. Additionally, a server administrator must register the client certificate with the index server; otherwise, authentication would fail and the content would not be crawled.

TipTip:

Effective planning of authentication for Web applications, and planning to crawl the content contained by those Web applications, requires collaboration between farm administrators who create the Web applications and search service administrators who configure the crawler.

Remember that, if you configure a zone to use either basic authentication or certificates and you want the crawler to authenticate by using that zone, the search service administrator must create a crawl rule to configure the crawler to use the same authentication method as the zone you intend it to authenticate with. Otherwise, the crawler attempts to use the next available zone.

In addition to properly configuring the authentication method, you must ensure that the crawler is authorized to crawl content within the Web application. The search service administrator must ensure that the content access account has the Read permission level to content accessed through this zone. Farm administrators can do this by creating a policy that gives the content access account the Read permission level on a particular Web application.

Planning zones for your authentication design

If you plan to implement more than one authentication method for a Web application by using zones, use the following guidelines:

  • Use the default zone to implement your most secure authentication settings. If a request cannot be associated with a specific zone, the authentication settings and other security policies of the default zone are applied. The default zone is the zone that is created when you initially create a Web application. Typically, the most secure authentication settings are designed for end-user access. Consequently, the default zone will likely be the zone that is accessed by end users.

  • Use the minimum number of zones that is required by the application. Each zone is associated with a new IIS site and domain for accessing the Web application. Only add new access points when these are required.

  • If you want content within the Web application to be included in search results, ensure that at least one zone is configured to use NTLM authentication. NTLM authentication is required by the index component to crawl content. Do not create a dedicated zone for the index component unless necessary.

Choose methods of authentication allowed in your environment

In addition to understanding how authentication is configured, planning for authentication includes:

  • Considering the security context or environment of your Web application in Office SharePoint Server 2007.

  • Evaluating the recommendations and tradeoffs for each method.

  • Understanding how user credentials and related identity data are cached and consumed by Office SharePoint Server 2007.

  • Understanding how user accounts are managed.

  • Ensuring that authentication methods are compatible with browsers that are used by your users.

Worksheet action

Use the Authentication methods worksheet (http://go.microsoft.com/fwlink/?LinkId=77970&clcid=0x409) to identify which authentication methods you are willing to support in your environment and to record your decisions and recommendations for each. This worksheet will be used when planning authentication methods for individual Web applications in Office SharePoint Server 2007.

Recommendations for specific security environments

Your choice of authentication methods will primarily be driven by the security context of your application. The following table provides recommendations based on the most common security environments:

Environment Considerations

Internal intranet

At a minimum, protect user credentials from plain view. Integrate with the user management system that is implemented in your environment. If Active Directory is implemented, use the Windows authentication methods built into IIS.

External secure collaboration

Configure a separate zone for each partner company that connects to the site. Use Web SSO to authenticate against each partner’s own identity management system. This eliminates the need to create accounts in your own identity management system and also ensures that contributor identities continue to be maintained and validated by partner employers. If a contributor is no longer employed by a partner company, the contributor cannot continue to gain access to your partner application.

External anonymous

Enable anonymous access (no authentication) and allow Read-Only permissions for users who connect from the Internet. If you want to provide targeted or role-based content, you can use ASP.NET forms authentication to register users by using a simple database of user names and roles. Use the registration process to identify users by role (such as doctor, patient, or pharmacist). When users log on, your site can present content that is specific to the user role. In this scenario, authentication is not used to validate credentials or to limit who can access the content; the authentication process simply provides a method of targeting content.

Recommendations and tradeoffs for authentication methods

Understanding the advantages, recommendations, and tradeoffs for each specific authentication method can help you to determine which methods to use in your environment. The following table highlights the recommendations and tradeoffs for each authentication method. For more information about each of the Windows authentication methods supported by IIS, see IIS Authentication (http://go.microsoft.com/fwlink/?LinkId=78066&clcid=0x409).

Authentication method Advantages and recommendations Tradeoffs

Windows

  • Authenticate by using your existing Active Directory accounts.

  • Simplify user management.

  • Take advantage of Active Directory groups when configuring Office SharePoint Server 2007 authorization.

  • Avoid writing custom code.

  • Each of the methods has its own associated pros and cons.

  • Some IIS authentication protocols are not supported by all Web browsers.

ASP.NET forms

  • Set up Office SharePoint Server 2007 in an environment that does not use Active Directory (does not require Windows accounts).

  • Authenticate against two or more different identity management systems when creating partner applications.

  • Implement a custom authentication scheme by using arbitrary criteria.

  • Authenticate users coming from the Internet.

  • Requires customization of the Web.config file.

  • Subject to replay attacks for the lifetime of the cookie, unless using SSL Transport Layer Security (TLS).

Web SSO

  • Implement Office SharePoint Server 2007 in an environment that uses federated authentication to secure digital identities across organizations and security environments.

  • Implement Office SharePoint Server 2007 in an environment that provides SSO to services running on disparate platforms, including environments that do not use Active Directory.

  • Take advantage of AD FS.

  • Authenticate against two or more different identity management systems when creating partner applications.

  • Requires an existing federated authentication system.

  • Requires customization of the Web.config file.

  • AD FS requires SSL. Other SSO systems might have other requirements.

Management of user identity information

How user credentials and other identity information is processed and used by Office SharePoint Server 2007 can influence your decision about which of the authentication options is best for your intended purpose. This section details how user identity information is processed in the following categories:

  • Binary IDs   How user binary identifiers (IDs) are created or used by Office SharePoint Server 2007.

  • Caching   The process of retaining a user's identity for a period of time to avoid repeating the authentication process for each request.

  • Role and group membership   In addition to determining who users are, the authentication process also determines which groups or roles a user belongs to. This information is used during the authorization process to determine which actions a user has permissions to perform. For the purpose of authorization, Office SharePoint Server 2007 treats Active Directory groups and ASP.NET roles as the same type of entity.

The following table details how Office SharePoint Server 2007 manages user binary IDs, cached user data, and role and group membership data depending on which authentication method is used:

Item Windows authentication ASP.NET forms and Web SSO

Binary IDs

Office SharePoint Server 2007 uses the Windows security identifier (SID).

Office SharePoint Server 2007 creates a unique binary ID by combining the provider name with the user name.

Caching

User credentials are cached and managed by IIS, Internet Explorer, and Windows.

ASP.NET uses an encrypted cookie to keep the user's credentials for the duration of a session.

Role and group membership

Windows maintains the list of Active Directory domain groups the user belongs to in the access token. Office SharePoint Server 2007 uses information stored in the access token.

When a role manager is registered, Windows SharePoint Services uses the standard role manager interface to gather group information about the current user. Each ASP.NET role is treated like a domain group by the authorization process. ASP.NET can cache the roles the user belongs to in a cookie, depending on the settings that are configured in the Web.config file.

Management of user accounts

Understanding how Office SharePoint Server 2007 handles typical user account management tasks can also influence which authentication method you choose. Generally, users who are members of an authentication provider in one zone can manage accounts across all zones as long as they are granted permissions. The information in the following list applies regardless of which authentication method is implemented:

  • Adding and inviting new users   You can add or invite a new user from any zone and all authentication methods that are configured if the membership provider and role manager are registered in the current Web.config file. When you add a new user, Office SharePoint Server 2007 resolves the user name against the following sources in the following order:

    • The UserInfoList table stored by Office SharePoint Server 2007. User information will be in this list if users have already been added to another site.

    • The authentication provider that is configured for the current zone. For example, if a user is a member of the authentication provider that is configured for the default zone, Office SharePoint Server 2007 first checks this associated membership provider.

    • All other authentication providers.

  • Deleting users   User accounts are marked as deleted in the Office SharePoint Server 2007 database. However, the user record is not removed.

Some user account management behaviors within Office SharePoint Server 2007 differ, depending on the authentication provider. The following table highlights several common user account tasks that differ depending on the authentication method that is implemented:

Task Windows authenticated accounts ASP.NET forms–authenticated and Web SSO-authenticated accounts

Adding and inviting new users

Office SharePoint Server 2007 validates user identities by using Active Directory.

Office SharePoint Server 2007 calls the membership provider and the role manager to verify that the user and roles exists.

Changes to logon names

Updated user names are automatically recognized by Office SharePoint Server 2007. New entries are not added to the UserInfoList table.

You must delete the old account name and then add the new account name. Permissions cannot be migrated.

Logging on

If Integrated Windows authentication (Kerberos or NTLM) is used and the browser is configured to automatically log on, users do not need to manually log on to SharePoint sites. By default, Internet Explorer is configured to automatically log on to intranet sites. If a logon is required (for example, sites that require a different set of credentials), users are prompted only for a user name and password. However, if basic authentication is used, or the user is using a browser that is not configured to automatically log on, users might be prompted for logon credentials when they access a SharePoint site.

Office SharePoint Server 2007 provides a standard logon page for use with forms authentication. This page includes the following fields: user name, password, sign in automatically (to persist the cookie). You can create your own logon page to add additional logon controls (for example, create a new account, or reset password).

Browser support

Not all browsers work with each of the authentication methods that are supported. Before selecting authentication methods to allow in your environment, determine which browsers you need to support. Then, determine which authentication methods are supported by the browsers. Internet Explorer works with each of the supported authentication methods. Additional browsers that are supported by Office SharePoint Server 2007 include:

  • Netscape 8.0

  • Netscape 7.2

  • Mozilla 1.7.12

  • Firefox 1.5

  • Safari 2.02

Worksheet

Use the following worksheet to record which authentication methods are appropriate for your environment:

The following table represents an example of a completed worksheet:

Authentication method Allow Don't allow Notes and recommendations

Anonymous

x

Basic

x

Digest

x

Certificates

x

NTLM (Integrated Windows)

x

"Use NTLM for all department sites except finance."

Kerberos (Integrated Windows)

x

"Use Kerberos authentication for sites with a high security service level agreement."

ASP.NET forms

x

"Use forms authentication to allow partner company access to sites hosted in the partner extranet. We currently allow authentication against the following identity management systems: Active Directory, LDAP. Work with Sidney Higa to develop authentication settings for use with forms authentication."

Web SSO

x

"Use this method for partner applications only if a partner company is participating in federated identity management systems. See David Jones for more information."

Additional Notes: "Work with Denise Smith to sign off on all authentication settings for SharePoint Web applications prior to implementing."

Download this book

This topic is included in the following downloadable book for easier reading and printing:

See the full list of available books at Downloadable content for Office SharePoint Server 2007.

See Also

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft