Configuring SPNEGO Based SSO With Websphere and Active Directory
Configuring SPNEGO Based SSO With Websphere and Active Directory
Configuring SPNEGO Based SSO With Websphere and Active Directory
Table of contents
1.Introduction....................................................................................................................................... 1
2.Compilation....................................................................................................................................... 1
3.Installation and Configuration........................................................................................................... 1
1.General..........................................................................................................................................1
2.Writing Kerberos configuration....................................................................................................2
3.Declaring Kerberos configuration file to Websphere................................................................... 2
4.Configuring Active Directory as the user registry........................................................................2
5.Configuring a JAAS Login Module for Kerberos Authentication............................................... 3
6.Configuring Security in Websphere............................................................................................. 3
7.Activating security settings...........................................................................................................4
4.Mapping Active Directory groups to application roles..................................................................... 4
1.Configuring accesses to admin Console....................................................................................... 4
2.Configuring accesses to applications............................................................................................4
1.Introduction
Websphere allows third party programs to authenticate a user using their own ways and can be
configured to trust these programs. This kind of interaction is done using a mechanism named
“Trust Association Interceptor” (or TAI). A TAI is simply a Java class which implements a
particular interface to negotiate user authentication itself. Jaaslounge provides you a TAI that can
speak with Active Directory to automatically authenticate a user who previously logged in on a
windows workstation.
2.Compilation
The SPNEGO Trusted Association Interceptor provided consists in one java class :
SpnegoTAI.java. To compile this class you need several libraries :
• jCifs-ext : version 0.9.4
• jCifs : version 1.1.11 , later versions must not be used as jCifs-ext does not work with.
• wssec.jar : found in directory “lib” of Websphere application server
• j2ee.jar : found in directory “lib” of Websphere application server
1. General
First of all, ensure that your active directory is properly configured. Steps required to configure
Active Directory are detailed in the document “AD_Spnego_Configuration”.
Once you have generated a jar containing the compiled TAI class. Copy it to the lib\ext directory
of your Websphere installation. You then need to configure Websphere. Open and log in the admin
console in your browser.
Configuring SPNEGO based SSO with Websphere and Active Directory 1/4
2. Writing Kerberos configuration
To make use of Kerberos, you need to write an configuration file. This file specifies settings like
the Kerberos Realm, address of the server... Here is a sample of such a file, considering that our
realm is named MY.DOMAIN.COM, and that our Active Directory server is named
adserver.my.domain.com :
[libdefaults]
default_realm = MY.DOMAIN.COM
default_tkt_enctypes = rc4-hmac des-cbc-md5 des-cbc-crc des3-cbc-sha1
default_tgs_enctypes = rc4-hmac des-cbc-md5 des-cbc-crc des3-cbc-sha1
[realms]
MY.DOMAIN.COM = {
kdc = adserver.my.domain.com:88
admin_server = adserver.my.domain.com
default_domain = MY.DOMAIN.COM
}
[domain_realm]
.my.domain.com = MY.DOMAIN.COM
MY.DOMAIN.COM = MY.DOMAIN.COM
Configuring SPNEGO based SSO with Websphere and Active Directory 2/4
• The Bind password entry specifies the password used by Websphere to connect to the LDAP
directory.
Others entries can be leaved with their default values.
Under “Additional Properties”, select “Advanced Lightweight Directory Access Protocol
(LDAP) user registry settings”. We will change the entries User Filter and User ID map to
search for Active Directory names (by default, the Active Directory settings makes Websphere
search for NTLM names).
• In the User Filter entry, replace “sAMAccountName” by “userPrincipalName”
• In the User ID map entry, replace “user:sAMAccountName” by “user:userPrincipalName”
Apply and save your changes.
Configuring SPNEGO based SSO with Websphere and Active Directory 3/4
• domainController : specifies the address of the Active Directory domain controller
• domainName : specifies the name of the domain
• servicePassword : specifies the password to use to connect on Active Directory
• servicePrincipalName : specifies the principal name to use to connect on Active Directory
For example, we can set domainController=adserver.my.domain.com,
domainName=my.domain.com, and servicePrincipalName=HTTP/webserver.my.domain.com.
Apply and save your changes.
Configuring SPNEGO based SSO with Websphere and Active Directory 4/4