mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-07-25 11:43:29 +00:00
Delete unused docbook file
This commit is contained in:
parent
8d4c09c191
commit
ff5b90ef9d
@ -1,80 +0,0 @@
|
|||||||
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="siteminder"><info><title>Siteminder Authentication Mechanism</title></info>
|
|
||||||
|
|
||||||
|
|
||||||
<section xml:id="siteminder-overview"><info><title>Overview</title></info>
|
|
||||||
|
|
||||||
|
|
||||||
<para>Siteminder is a commercial single sign on solution by Computer
|
|
||||||
Associates.</para>
|
|
||||||
|
|
||||||
<para>Spring Security provides a filter,
|
|
||||||
<literal>SiteminderUsernamePasswordAuthenticationProcessingFilter</literal> and
|
|
||||||
provider, <literal>SiteminderAuthenticationProvider</literal> that can
|
|
||||||
be used to process requests that have been pre-authenticated by
|
|
||||||
Siteminder. This filter assumes that you're using Siteminder for
|
|
||||||
<emphasis>authentication</emphasis>, and that you're using Spring
|
|
||||||
Security for <emphasis>authorization</emphasis>. The use of Siteminder
|
|
||||||
for <emphasis>authorization</emphasis> is not yet directly supported
|
|
||||||
by Spring Security.</para>
|
|
||||||
|
|
||||||
<para>When using Siteminder, an agent is setup on your web server to
|
|
||||||
intercept a principal's first call to your application. The agent
|
|
||||||
redirects the web request to a single sign-on login page, and once
|
|
||||||
authenticated, your application receives the request. Inside the HTTP
|
|
||||||
request is a header - such as <literal>SM_USER</literal> - which
|
|
||||||
identifies the authenticated principal (please refer to your
|
|
||||||
organization's "single sign-on" group for header details in your
|
|
||||||
particular configuration).</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section xml:id="siteminder-config"><info><title>Configuration</title></info>
|
|
||||||
|
|
||||||
|
|
||||||
<para>The first step in setting up Spring Security's Siteminder
|
|
||||||
support is to define the authentication mechanism that will inspect
|
|
||||||
the HTTP header discussed earlier. It will be responsible for
|
|
||||||
generating a <literal>UsernamePasswordAuthenticationToken</literal>
|
|
||||||
that is later sent to the
|
|
||||||
<literal>SiteminderAuthenticationProvider</literal>. Let's look at an
|
|
||||||
example:</para>
|
|
||||||
|
|
||||||
<para><programlisting><bean id="authenticationProcessingFilter"
|
|
||||||
class="org.springframework.security.ui.webapp.SiteminderUsernamePasswordAuthenticationProcessingFilter">
|
|
||||||
<property name="authenticationManager"><ref bean="authenticationManager"/></property>
|
|
||||||
<property name="authenticationFailureUrl"><value>/login.jsp?login_error=1</value></property>
|
|
||||||
<property name="defaultTargetUrl"><value>/security.do?method=getMainMenu</value></property>
|
|
||||||
<property name="filterProcessesUrl"><value>/j_spring_security_check</value></property>
|
|
||||||
<property name="siteminderUsernameHeaderKey"><value>SM_USER</value></property>
|
|
||||||
<property name="formUsernameParameterKey"><value>j_username</value></property>
|
|
||||||
</bean></programlisting></para>
|
|
||||||
|
|
||||||
<para>In our example above, the bean is being provided an
|
|
||||||
<interfacename>AuthenticationManager</interfacename>, as is normally needed by
|
|
||||||
authentication mechanisms. Several URLs are also specified, with the
|
|
||||||
values being self-explanatory. It's important to also specify the HTTP
|
|
||||||
header that Spring Security should inspect. If you additionally want
|
|
||||||
to support form-based authentication (i.e. in your development
|
|
||||||
environment where Siteminder is not installed), specify the form's
|
|
||||||
username parameter as well - just don't do this in production!</para>
|
|
||||||
|
|
||||||
<para>Note that you'll need a
|
|
||||||
<literal>SiteminderAuthenticationProvider</literal>
|
|
||||||
configured against your <literal>ProviderManager</literal> in order to
|
|
||||||
use the Siteminder authentication mechanism. Normally an
|
|
||||||
<classname>AuthenticationProvider</classname> expects the password
|
|
||||||
property to match what it retrieves from the
|
|
||||||
<literal>UserDetailsSource</literal>, but in this case, authentication
|
|
||||||
has already been handled by Siteminder, so password property is not
|
|
||||||
even relevant. This may sound like a security weakness, but remember
|
|
||||||
that users have to authenticate with Siteminder before your
|
|
||||||
application ever receives the requests, so the purpose of your custom
|
|
||||||
<interfacename>UserDetailsService</interfacename> should simply be to build the
|
|
||||||
complete <interfacename>Authentication</interfacename> object (ie with suitable
|
|
||||||
<literal>GrantedAuthority[]</literal>s).</para>
|
|
||||||
|
|
||||||
<para>Advanced tip and word to the wise: If you additionally want to
|
|
||||||
support form-based authentication in your development environment
|
|
||||||
(where Siteminder is typically not installed), specify the form's
|
|
||||||
username parameter as well. Just don't do this in production!</para>
|
|
||||||
</section>
|
|
||||||
</chapter>
|
|
Loading…
x
Reference in New Issue
Block a user