## Part III : Deploying for Single Sign-On in a Kerberos Environment

## Exercise 6: Deploying for Single Sign-On

### Goal of this exercise:

The goal of this exercise is to learn how to configure a JAAS application that uses Kerberos for authentication to achieve single sign-on. Single sign-on means that the user needs only authenticate once to a system or a collection of services. After the initial authentication, the user can access other services in the system using the same identity as he used for the initial authentication.

Single sign-on can be used to describe different types of authentication. There are HTTP-based network single sign-on protocols. There is Kerberos-based single sign-on for network services. In this particular exercise, we show how to achieve single sign-on in Kerberos-based systems by showing how to import already-acquired Kerberos credentials from the underlying native operating system.

### Background and Resources for this exercise:

1. Single Sign-On Using Kerberos in Java

In addition, see the information provided in Exercises 2 and 4 for background information about Kerberos and Java GSS.

Steps to follow:

1. Edit the JAAS configuration file. This is located in `src/jaas-krb5.conf
   `

This file contains two entries, one named "client" and one named "server." Add the line `"useTicketCache=true"` to the client entry.

Code listing for updated `jaas-krb5.conf`.

`client {` `com.sun.security.auth.module.Krb5LoginModule required` `useTicketCache=true` `principal="test";` `};` `server {` `com.sun.security.auth.module.Krb5LoginModule required` `useKeyTab=true` `storeKey=true` `keyTab=sample.keytab` `principal="host/j1hol-001";` `};`

2. Perform Kerberos login to the native operating system.
   To login to Kerberos, use kinit command as follows. ``

       % kinit test

   Then, enter `changeit` when prompted for the password.
3. Run the client and server programs in Exercises 1-5 as before and you will note that the client applications no longer ask you to enter a password.

Company Info | Contact | Copyright 2006 Sun Microsystems