10.02.2013 Views

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

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.

Maintaining<br />

session<br />

state<br />

between<br />

client<br />

and<br />

back-end<br />

applications<br />

<strong>WebSEAL</strong><br />

can<br />

maintain<br />

session<br />

state<br />

with<br />

clients<br />

over<br />

HTTP<br />

and<br />

HTTPS.<br />

Additionally,<br />

you<br />

can<br />

configure<br />

<strong>WebSEAL</strong><br />

to<br />

provide<br />

user<br />

session<br />

in<strong>for</strong>mation<br />

to<br />

back-end<br />

junctioned<br />

application<br />

servers.<br />

With<br />

this<br />

user<br />

session<br />

in<strong>for</strong>mation,<br />

back-end<br />

applications<br />

can<br />

maintain<br />

session<br />

state<br />

with<br />

clients.<br />

Background<br />

to<br />

user<br />

session<br />

management<br />

A<br />

secure<br />

connection,<br />

or<br />

session,<br />

between<br />

a<br />

client<br />

and<br />

a<br />

server<br />

requires<br />

that<br />

the<br />

server<br />

have<br />

the<br />

ability<br />

to<br />

remember—over<br />

numerous<br />

requests—who<br />

it<br />

is<br />

talking<br />

to.<br />

The<br />

server<br />

must<br />

have<br />

some<br />

<strong>for</strong>m<br />

of<br />

session<br />

state<br />

in<strong>for</strong>mation<br />

that<br />

identifies<br />

the<br />

client<br />

associated<br />

with<br />

each<br />

request.<br />

Without<br />

an<br />

established<br />

session<br />

state<br />

between<br />

client<br />

and<br />

server,<br />

the<br />

communication<br />

between<br />

the<br />

client<br />

and<br />

the<br />

server<br />

must<br />

be<br />

renegotiated<br />

<strong>for</strong><br />

each<br />

subsequent<br />

request.<br />

Session<br />

state<br />

in<strong>for</strong>mation<br />

improves<br />

per<strong>for</strong>mance<br />

by<br />

eliminating<br />

repeated<br />

closing<br />

and<br />

re-opening<br />

of<br />

client/server<br />

connections.<br />

The<br />

client<br />

can<br />

log<br />

in<br />

once<br />

and<br />

make<br />

numerous<br />

requests<br />

without<br />

per<strong>for</strong>ming<br />

a<br />

separate<br />

login<br />

<strong>for</strong><br />

each<br />

request.<br />

<strong>WebSEAL</strong><br />

maintains<br />

session<br />

state<br />

in<strong>for</strong>mation<br />

through<br />

the<br />

GSKit<br />

SSL<br />

session<br />

ID<br />

cache<br />

and<br />

the<br />

<strong>WebSEAL</strong><br />

session/credentials<br />

cache.<br />

The<br />

GSKit<br />

session<br />

cache<br />

supports<br />

HTTPS<br />

(SSL)<br />

communication<br />

when<br />

the<br />

SSL<br />

session<br />

ID<br />

is<br />

used<br />

to<br />

maintain<br />

session<br />

state.<br />

The<br />

<strong>WebSEAL</strong><br />

credentials<br />

cache<br />

stores<br />

a<br />

<strong>WebSEAL</strong><br />

session<br />

ID<br />

<strong>for</strong><br />

each<br />

client<br />

plus<br />

any<br />

credential<br />

in<strong>for</strong>mation<br />

specific<br />

to<br />

each<br />

client.<br />

You<br />

can<br />

configure<br />

<strong>WebSEAL</strong><br />

to<br />

store<br />

a<br />

unique<br />

User<br />

Session<br />

ID<br />

<strong>for</strong><br />

each<br />

authenticating<br />

client<br />

as<br />

an<br />

extended<br />

attribute<br />

in<br />

the<br />

credential<br />

of<br />

each<br />

client.<br />

Using<br />

extended<br />

attributes<br />

<strong>for</strong><br />

<strong>Tivoli</strong><br />

<strong>Access</strong><br />

<strong>Manager</strong><br />

objects,<br />

you<br />

can<br />

configure<br />

a<br />

junction<br />

to<br />

provide<br />

this<br />

User<br />

Session<br />

ID<br />

in<strong>for</strong>mation<br />

to<br />

the<br />

back-end<br />

server.<br />

An<br />

application<br />

on<br />

this<br />

back-end<br />

server<br />

can<br />

take<br />

advantage<br />

of<br />

the<br />

user<br />

session<br />

in<strong>for</strong>mation<br />

to<br />

manage<br />

the<br />

client-server<br />

interaction,<br />

such<br />

as<br />

tracking<br />

the<br />

activity<br />

of<br />

users.<br />

Enabling<br />

user<br />

session<br />

id<br />

management<br />

The<br />

user-session-ids<br />

parameter<br />

in<br />

the<br />

[session]<br />

stanza<br />

of<br />

the<br />

<strong>WebSEAL</strong><br />

configuration<br />

file<br />

allows<br />

you<br />

to<br />

enable<br />

and<br />

disable<br />

the<br />

creation<br />

of<br />

a<br />

unique<br />

User<br />

Session<br />

ID<br />

in<br />

the<br />

credential<br />

of<br />

each<br />

client<br />

making<br />

a<br />

request.<br />

The<br />

default<br />

value<br />

is<br />

“no”<br />

(disabled):<br />

[session]<br />

user-session-ids<br />

=<br />

no<br />

To<br />

enable<br />

the<br />

creation<br />

of<br />

unique<br />

User<br />

Session<br />

IDs,<br />

set<br />

user-session-ids<br />

=<br />

yes.<br />

The<br />

unique<br />

User<br />

Session<br />

ID<br />

is<br />

stored<br />

in<br />

a<br />

user’s<br />

credential<br />

as<br />

an<br />

extended<br />

attribute<br />

with<br />

a<br />

name<br />

and<br />

value:<br />

tagvalue_user_session_id<br />

=<br />

user_session_id<br />

In<br />

the<br />

credential<br />

itself,<br />

the<br />

credential<br />

extended<br />

attribute<br />

name<br />

(user_session_id)<br />

appears<br />

with<br />

a<br />

“tagvalue_”<br />

prefix<br />

to<br />

prevent<br />

any<br />

conflicts<br />

with<br />

other<br />

existing<br />

in<strong>for</strong>mation<br />

in<br />

the<br />

credential.<br />

The<br />

value<br />

of<br />

the<br />

User<br />

Session<br />

ID<br />

is<br />

a<br />

string<br />

that<br />

uniquely<br />

identifies<br />

a<br />

specific<br />

session<br />

<strong>for</strong><br />

an<br />

authenticated<br />

user.<br />

The<br />

User<br />

Session<br />

ID<br />

is<br />

a<br />

MIME-64<br />

encoded<br />

string<br />

that<br />

includes<br />

the<br />

<strong>WebSEAL</strong><br />

instance<br />

names<br />

and<br />

the<br />

standard<br />

<strong>WebSEAL</strong><br />

session<br />

ID<br />

<strong>for</strong><br />

the<br />

user.<br />

Chapter<br />

12.<br />

Application<br />

integration<br />

343

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

Saved successfully!

Ooh no, something went wrong!