acegi基于数据库存储用户的身份认证
<?
xml version="1.0" encoding="UTF-8"
?>
< beans xmlns ="http://www.springframework.org/schema/beans"
xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation ="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd" >
<!-- <import resource="classpath:hvp/spring/hibernate/orm/beans.xml"/> -->
< bean id ="dataSource"
class ="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method ="close" >
< property name ="driverClass" value ="com.mysql.jdbc.Driver" />
< property name ="jdbcUrl"
value ="jdbc:mysql://127.0.0.1:3306/mydata" />
< property name ="user" value ="root" />
< property name ="password" value ="root" />
< property name ="autoCommitOnClose" value ="true" />
< property name ="checkoutTimeout" value ="5000" />
< property name ="initialPoolSize" value ="2" />
< property name ="minPoolSize" value ="2" />
< property name ="maxPoolSize" value ="4" />
< property name ="maxIdleTime" value ="25200" />
< property name ="acquireIncrement" value ="1800" />
< property name ="maxIdleTimeExcessConnections" value ="5" />
</ bean >
< bean id ="filterChainProxy"
class ="org.acegisecurity.util.FilterChainProxy" >
< property name ="filterInvocationDefinitionSource" >
< value >
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/**=authenticationProcessingFilter
</ value >
</ property >
</ bean >
< bean id ="authenticationProcessingFilter"
class ="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter" >
< property name ="filterProcessesUrl"
value ="/j_acegi_security_check" />
< property name ="defaultTargetUrl" value ="/main.jsp" />
< property name ="authenticationFailureUrl"
value ="/index.jsp?login_error=1" />
< property name ="authenticationManager"
ref ="authenticationManager" />
</ bean >
< bean id ="authenticationManager"
class ="org.acegisecurity.providers.ProviderManager" >
< property name ="providers" >
< list >
< ref local ="daoAuthenticationProvider" />
</ list >
</ property >
</ bean >
< bean id ="daoAuthenticationProvider"
class ="org.acegisecurity.providers.dao.DaoAuthenticationProvider" >
< property name ="userDetailsService" ref ="userDetailsService" />
</ bean >
<!-- -->
< bean id ="userDetailsService" class ="org.acegisecurity.userdetails.jdbc.JdbcDaoImpl" >
< property name ="dataSource" ref ="dataSource" />
< property name ="usersByUsernameQuery" >
< value > SELECT username,password,status FROM t_user WHERE username=? </ value >
</ property >
< property name ="authoritiesByUsernameQuery" >
< value > SELECT u.username,p.priv_name FROM t_user u,t_user_priv p WHERE u.user_id=p.user_id and u.username=? </ value >
</ property >
</ bean >
<!--
<bean id="userDetailsService"
class="org.acegisecurity.userdetails.memory.InMemoryDaoImpl">
<property name="userMap">
<value>
huyvanmin=huyvanmin,PRIV_COMMON,PRIV_1
huyvanpull=huyvanpull,PRIV_COMMON,PRIV_1,PRIV_2
huyvanlee=huyvanlee,disabled,PRIV_COMMON,PRIV_1
</value>
</property>
</bean>
-->
</ beans >
< beans xmlns ="http://www.springframework.org/schema/beans"
xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation ="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd" >
<!-- <import resource="classpath:hvp/spring/hibernate/orm/beans.xml"/> -->
< bean id ="dataSource"
class ="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method ="close" >
< property name ="driverClass" value ="com.mysql.jdbc.Driver" />
< property name ="jdbcUrl"
value ="jdbc:mysql://127.0.0.1:3306/mydata" />
< property name ="user" value ="root" />
< property name ="password" value ="root" />
< property name ="autoCommitOnClose" value ="true" />
< property name ="checkoutTimeout" value ="5000" />
< property name ="initialPoolSize" value ="2" />
< property name ="minPoolSize" value ="2" />
< property name ="maxPoolSize" value ="4" />
< property name ="maxIdleTime" value ="25200" />
< property name ="acquireIncrement" value ="1800" />
< property name ="maxIdleTimeExcessConnections" value ="5" />
</ bean >
< bean id ="filterChainProxy"
class ="org.acegisecurity.util.FilterChainProxy" >
< property name ="filterInvocationDefinitionSource" >
< value >
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/**=authenticationProcessingFilter
</ value >
</ property >
</ bean >
< bean id ="authenticationProcessingFilter"
class ="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter" >
< property name ="filterProcessesUrl"
value ="/j_acegi_security_check" />
< property name ="defaultTargetUrl" value ="/main.jsp" />
< property name ="authenticationFailureUrl"
value ="/index.jsp?login_error=1" />
< property name ="authenticationManager"
ref ="authenticationManager" />
</ bean >
< bean id ="authenticationManager"
class ="org.acegisecurity.providers.ProviderManager" >
< property name ="providers" >
< list >
< ref local ="daoAuthenticationProvider" />
</ list >
</ property >
</ bean >
< bean id ="daoAuthenticationProvider"
class ="org.acegisecurity.providers.dao.DaoAuthenticationProvider" >
< property name ="userDetailsService" ref ="userDetailsService" />
</ bean >
<!-- -->
< bean id ="userDetailsService" class ="org.acegisecurity.userdetails.jdbc.JdbcDaoImpl" >
< property name ="dataSource" ref ="dataSource" />
< property name ="usersByUsernameQuery" >
< value > SELECT username,password,status FROM t_user WHERE username=? </ value >
</ property >
< property name ="authoritiesByUsernameQuery" >
< value > SELECT u.username,p.priv_name FROM t_user u,t_user_priv p WHERE u.user_id=p.user_id and u.username=? </ value >
</ property >
</ bean >
<!--
<bean id="userDetailsService"
class="org.acegisecurity.userdetails.memory.InMemoryDaoImpl">
<property name="userMap">
<value>
huyvanmin=huyvanmin,PRIV_COMMON,PRIV_1
huyvanpull=huyvanpull,PRIV_COMMON,PRIV_1,PRIV_2
huyvanlee=huyvanlee,disabled,PRIV_COMMON,PRIV_1
</value>
</property>
</bean>
-->
</ beans >