论坛首页 Java企业应用论坛

Spring Security (一)

浏览 7555 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-07-14  
最近学习了一系列关于Spring security安全框架,不知道在项目中使用的多不多?
jar在官网下载:最新Spring Security 3.2.0.M2地址:http://www.springsource.org/download/community
一下用的是静态数据,没有连接数据库
web.xml配置:
<filter>
		<filter-name>springSecurityFilterChain</filter-name>
		<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
	</filter>
	<filter-mapping>
	    <filter-name>springSecurityFilterChain</filter-name>
	    <url-pattern>/*</url-pattern>
	</filter-mapping>

Spring.xml配置:
<security:http auto-config="true" access-denied-page="/403.jsp">
		<!-- login-page:默认指定的登录页面. authentication-failure-url:出错后跳转页面. default-target-url:成功登陆后跳转页面 -->   
    	<security:form-login login-page="/security/login.jsp" authentication-failure-url="/403.jsp" default-target-url="/login!home.action" />
    	<!-- logout-success-url:成功注销后跳转到的页面; -->
   		<security:logout logout-success-url="/security/login.jsp"/>
    	
		<!-- intercept-url:拦截器,可以设定哪些路径需要哪些权限来访问. filters=none/security=none 不使用过滤,也可以理解为忽略  以下:ROLE_USER角色的用户才可以访问user.action -->
		<security:intercept-url pattern="/user.action*" access="ROLE_USER" />
		<security:intercept-url pattern="/admin.action*" access="ROLE_ADMIN" />
	</security:http>
<!-- 权限管理操作 -->   
    <security:authentication-manager>
        <security:authentication-provider> 
<!--       使用固定的用户名和密码及权限来做验证. -->     
                <security:user-service>
                	<security:user name="admin" password="admin" authorities="ROLE_ADMIN" />
                	<security:user name="user" password="user" authorities="ROLE_USER" />   
                </security:user-service>
        </security:authentication-provider>
    </security:authentication-manager>

登陆的jsp:
<form id="test" action="${path}/j_spring_security_check" method="post">
    	name<input id="name" class="form" name="j_username"/><br/>
    	password<input id="password" name="j_password" class="form"/><br/>
    	<input type="submit" value="submit"/>
    </form>

由于验证过程是Spring Security框架自动完成的,所以在我们的登录页面中表单元素的name
都是固定的。

登陆后的页面:
<a href="${path}/user.action">User 用户入口</a>
	<br/>
	<a href="${path}/admin.action">Admin用户入口</a>
	<br/>
		
	<a href="${path}/j_spring_security_logout">注销吧</a>

如果通过地址栏直接访问需要权限的资源,将会被拦截,返回到登陆页面(若没有登陆页面)spring会自动创建一个登陆页面。当在登录页面进行了正确的登录后,Spring Security会自动进行登录验证,如果成功登录,
将用户信息放到session 中,然后转到先前请求的页面上。
   发表时间:2013-07-17  
呵呵,我最近也在研究
看到你这个,我想说你是不是网上搬过来的。。。
0 请登录后投票
   发表时间:2013-07-17  
个人爱好,研究了好一段时间,但是目前项目用不到,所以就停下来了.
0 请登录后投票
   发表时间:2013-07-17  
txf_7337 写道
呵呵,我最近也在研究
看到你这个,我想说你是不是网上搬过来的。。。

我只是最近在学习这方面,部分内容是从网上找的,但整个Demo真心是我敲出来的!对于一些原理还有一些说不出来的,框架使用起来,应该可以的!
0 请登录后投票
   发表时间:2013-07-17  
fkshl 写道
个人爱好,研究了好一段时间,但是目前项目用不到,所以就停下来了.

我也一直纠结这个问题,security这个框架是不是只能给内部管理系统使用呢?如果给网站使用,会不会太蛋疼了???
0 请登录后投票
   发表时间:2013-07-18  
用户和角色管理还是放到数据库里管比较好,这种配置的不灵活
0 请登录后投票
   发表时间:2013-07-19  
我也在用Security,感觉功能比较强大,多登陆口配置也不错.只是现在和异步请求结合起来使用的时候,出了些问题.用户身份凭据会意外丢失.
0 请登录后投票
   发表时间:2013-07-20  
由于验证过程是Spring Security框架自动完成的,所以在我们的登录页面中表单元素的name
都是固定的。


这个是可以配置的吧。。
0 请登录后投票
   发表时间:2013-07-22  
peak 写道
用户和角色管理还是放到数据库里管比较好,这种配置的不灵活

嗯,spring security(二)写的就是连接数据的。
0 请登录后投票
   发表时间:2013-07-22  
yzxqml 写道
我也在用Security,感觉功能比较强大,多登陆口配置也不错.只是现在和异步请求结合起来使用的时候,出了些问题.用户身份凭据会意外丢失.

嗯,确实
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics