`

spring security 3.x 边学习边胡来(2)

阅读更多

下面叙述如何将(1)里面xml配置的固定的用户采用数据库形式,这样比较接近日常项目。

 

(1)中spring-security.xml authentication-manager的配置

 

<sec:authentication-manager>
	<sec:authentication-provider>
		<sec:user-service>
			<sec:user name="admin" password="admin" authorities="ROLE_USER, ROLE_ADMIN"/>
			<sec:user name="jack" password="jack" authorities="ROLE_USER" />
		</sec:user-service>
	</sec:authentication-provider>
</sec:authentication-manager>

 用户是固定配置的。

 

 

将authentication-manager 修改下

 

<sec:authentication-manager>
	<sec:authentication-provider>
		<sec:password-encoder hash="md5"></sec:password-encoder>
		<sec:jdbc-user-service data-source-ref="dataSource" 
			users-by-username-query="select name,pwd,status from user where name=?" 
			authorities-by-username-query="select u.name,a.authority from user u left join authorities a on u.id=a.user_id where u.name=?"/>
	</sec:authentication-provider>
</sec:authentication-manager>

 如上配置两段sql即返回出jdbc-user-service需要的信息就能完成注册认证

 

 

ps: 关于spring mvc中静态资源的过滤问题可以如下配置,使用sever自带的default filter进行过滤而不是通过spring-mvc进行过滤,当然还有几种配置方式

 

a.使用Default filter

<servlet-mapping>       
    <servlet-name>default</servlet-name>    
    <url-pattern>*.js</url-pattern>    
</servlet-mapping>    
<servlet-mapping>        
    <servlet-name>default</servlet-name>       
    <url-pattern>*.css</url-pattern>      
</servlet-mapping>    
<servlet-mapping>        
    <servlet-name>default</servlet-name>       
    <url-pattern>*.html</url-pattern>      
</servlet-mapping> 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics