1 changed files with 174 additions and 0 deletions
@ -0,0 +1,174 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
|
||||||
|
<beans xmlns="http://www.springframework.org/schema/beans" |
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||||
|
xmlns:security="http://www.springframework.org/schema/security" |
||||||
|
xmlns:util="http://www.springframework.org/schema/util" |
||||||
|
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd |
||||||
|
http://www.springframework.org/schema/util http://www.springframework.org/schema/beans/spring-util-2.0.xsd |
||||||
|
http://www.springframework.org/schema/security file:/Users/vpuri/interface21/acegisecurity/trunk/acegisecurity/core/src/main/resources/org/acegisecurity/config/spring-security-2.0.xsd"> |
||||||
|
|
||||||
|
<!-- |
||||||
|
- A simple "base bones" Acegi Security configuration. |
||||||
|
- |
||||||
|
- The sample includes the "popular" features that people tend to use. |
||||||
|
- Specifically, form authentication, remember-me, and anonymous processing. |
||||||
|
- Other features aren't setup, as these can be added later by inserting |
||||||
|
- the relevant XML fragments as specified in the Reference Guide. |
||||||
|
- |
||||||
|
- To assist new users, the filters specified in the FilterChainProxy are |
||||||
|
- declared in the application context in the same order. Collaborators |
||||||
|
- required by those filters are placed at the end of the file. |
||||||
|
- |
||||||
|
- $Id: applicationContext-acegi-security.xml 1513 2006-05-29 13:32:12Z benalex $ |
||||||
|
--> |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<bean id="filterChainProxy" |
||||||
|
class="org.acegisecurity.util.FilterChainProxy"> |
||||||
|
<property name="filterInvocationDefinitionSource"> |
||||||
|
<value> |
||||||
|
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON |
||||||
|
PATTERN_TYPE_APACHE_ANT |
||||||
|
/**=httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,securityContextHolderAwareRequestFilter,rememberMeProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor |
||||||
|
</value> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<!-- sessionCreation defaults to ifRequired(true) always(true) never(false) . --> |
||||||
|
<security:session-context-integration |
||||||
|
id="httpSessionContextIntegrationFilter" sessionCreation="ifRequired" /> |
||||||
|
|
||||||
|
|
||||||
|
<!-- If LogoutFilter does not have setHandlers populated, introspect app ctx for LogoutHandlers, using Ordered (if present, otherwise assume Integer.MAX_VALUE) --> |
||||||
|
<!-- The logoutUrl and redirectAfterLogout are both optional and default to that shown --> |
||||||
|
<security:logout-support id="logoutFilter" |
||||||
|
redirectAfterLogoutUrl="/index.jsp" /> |
||||||
|
|
||||||
|
<security:authentication-remember-me-services |
||||||
|
id="rememberMeServices" key="someValue" /> |
||||||
|
|
||||||
|
|
||||||
|
<bean id="SecurityContextLogoutHandler" |
||||||
|
class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler" /> |
||||||
|
|
||||||
|
<!-- the URLs are all mandatory and have no defaults (well, except authenticationUrl) --> |
||||||
|
<security:authentication-form id="authenticationProcessinFilter" |
||||||
|
authenticationUrl="/j_acegi_security_check" defaultTargetUrl="/" |
||||||
|
errorFormUrl="/acegilogin.jsp?login_error=1" /> |
||||||
|
|
||||||
|
<!-- make it optional, if not supplied autodetect all auth-providers from app ctx, using Ordered to resolve their order --> |
||||||
|
<security:authentication-mechanism id="authenticationManager" /> |
||||||
|
|
||||||
|
<!-- dao authentication provider "authenticationRepository" --> |
||||||
|
<security:authentication-repository id="daoAuthenticationProvider" /> |
||||||
|
|
||||||
|
<bean id="securityContextHolderAwareRequestFilter" |
||||||
|
class="org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter" /> |
||||||
|
|
||||||
|
<!-- makes the filter, but does little else, as it auto-detects everything --> |
||||||
|
<security:authentication-remember-me-filter id="rememberMeFilter" /> |
||||||
|
|
||||||
|
<bean id="anonymousProcessingFilter" |
||||||
|
class="org.acegisecurity.providers.anonymous.AnonymousProcessingFilter"> |
||||||
|
<property name="key" value="changeThis" /> |
||||||
|
<property name="userAttribute" |
||||||
|
value="anonymousUser,ROLE_ANONYMOUS" /> |
||||||
|
</bean> |
||||||
|
|
||||||
|
<!-- Basically accessDeniedUrl is optional, we if unspecified impl will auto-detect any AccessDeniedHandler in ctx and use it; |
||||||
|
alternately if there are > 1 such handlers, we can nominate the one to use via accessDeniedBeanRef; provide nested elements for |
||||||
|
other props; i do not mind if you move the access denied stuff to a sub-element --> |
||||||
|
<security:exception-translation id="exceptionTranslationFilter"> |
||||||
|
<security:entry-point |
||||||
|
entryPointBeanRef="authenticationEntryPoint" /> |
||||||
|
</security:exception-translation> |
||||||
|
|
||||||
|
|
||||||
|
<bean id="authenticationEntryPoint" |
||||||
|
class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint"> |
||||||
|
<property name="loginFormUrl" value="/acegilogin.jsp" /> |
||||||
|
<property name="forceHttps" value="false" /> |
||||||
|
</bean> |
||||||
|
|
||||||
|
|
||||||
|
<bean id="accessDeniedHandler" |
||||||
|
class="org.acegisecurity.ui.AccessDeniedHandlerImpl"> |
||||||
|
<property name="errorPage" value="/accessDenied.jsp" /> |
||||||
|
</bean> |
||||||
|
|
||||||
|
|
||||||
|
<bean id="filterInvocationInterceptor" |
||||||
|
class="org.acegisecurity.intercept.web.FilterSecurityInterceptor"> |
||||||
|
<property name="authenticationManager" |
||||||
|
ref="authenticationManager" /> |
||||||
|
<property name="accessDecisionManager"> |
||||||
|
<bean class="org.acegisecurity.vote.AffirmativeBased"> |
||||||
|
<property name="allowIfAllAbstainDecisions" |
||||||
|
value="false" /> |
||||||
|
<property name="decisionVoters"> |
||||||
|
<list> |
||||||
|
<bean class="org.acegisecurity.vote.RoleVoter" /> |
||||||
|
<bean |
||||||
|
class="org.acegisecurity.vote.AuthenticatedVoter" /> |
||||||
|
</list> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
</property> |
||||||
|
<property name="objectDefinitionSource"> |
||||||
|
<value> |
||||||
|
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON |
||||||
|
PATTERN_TYPE_APACHE_ANT |
||||||
|
/secure/extreme/**=ROLE_SUPERVISOR |
||||||
|
/secure/**=IS_AUTHENTICATED_REMEMBERED |
||||||
|
/**=IS_AUTHENTICATED_ANONYMOUSLY |
||||||
|
</value> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
|
||||||
|
<!--<bean id="authenticationManager" |
||||||
|
class="org.acegisecurity.providers.ProviderManager"> |
||||||
|
<property name="providers"> |
||||||
|
<list> |
||||||
|
<ref local="daoAuthenticationProvider" /> |
||||||
|
<bean |
||||||
|
class="org.acegisecurity.providers.anonymous.AnonymousAuthenticationProvider"> |
||||||
|
<property name="key" value="changeThis" /> |
||||||
|
</bean> |
||||||
|
<bean |
||||||
|
class="org.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider"> |
||||||
|
<property name="key" value="changeThis" /> |
||||||
|
</bean> |
||||||
|
</list> |
||||||
|
</property> |
||||||
|
</bean>--> |
||||||
|
|
||||||
|
<bean id="userCache" |
||||||
|
class="org.acegisecurity.providers.dao.cache.EhCacheBasedUserCache"> |
||||||
|
<property name="cache"> |
||||||
|
<bean |
||||||
|
class="org.springframework.cache.ehcache.EhCacheFactoryBean"> |
||||||
|
<property name="cacheManager"> |
||||||
|
<bean |
||||||
|
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" /> |
||||||
|
</property> |
||||||
|
<property name="cacheName" value="userCache" /> |
||||||
|
</bean> |
||||||
|
</property> |
||||||
|
</bean> |
||||||
|
|
||||||
|
|
||||||
|
<!-- UserDetailsService is the most commonly frequently Acegi Security interface implemented by end users --> |
||||||
|
|
||||||
|
<security:principal-repository id="userDetailsService"> |
||||||
|
<security:properties resource="/WEB-INF/users.properties" /> |
||||||
|
</security:principal-repository> |
||||||
|
|
||||||
|
|
||||||
|
<!-- This bean is optional; it isn't used by any other bean as it only listens and logs --> |
||||||
|
<bean id="loggerListener" |
||||||
|
class="org.acegisecurity.event.authentication.LoggerListener" /> |
||||||
|
|
||||||
|
</beans> |
||||||
Loading…
Reference in new issue