最近学习了一系列关于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
都是固定的。
如果要显示登录错误信息加上${sessionScope.SPRING_SECURITY_LAST_EXCEPTION.message}
在spring.xml配上一个bean:
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:message_zh_CN"/>
</bean>
删掉这个配置authentication-failure-url="/403.jsp"
在src路径下新建一个message_zh_CN(解压官方文档spring-security-core-3.2.0.M1)修改AbstractUserDetailsAuthenticationProvider.badCredentials=密码错误
登陆后的页面:
<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 中,然后转到先前请求的页面上。
分享到:
相关推荐
NULL 博文链接:https://lihao312.iteye.com/blog/1909205
Spring Security 演讲PPT(演讲嘉宾:张明星) WebSphere技术专家沙龙在广州圆满举办,WSC超级版主Fastzch(张明星)担任本次沙龙的演讲嘉宾,他给广州的WebSphere技术专家带来了以“Spring Security ”为主题的...
Spring Security三份资料,实战Spring Security 3.x.pdf;Spring Security 3.pdf;Spring Security使用手册.pdf
springsecurity是一个功能强大且高度可定制的身份验证和访问控制框架。springsecurity是一个专注于为Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Spring安全性的真正威力在于它可以很容易地扩展以...
spring security spring security 中文文档
Spring Security:spring家族一员。是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转...
Spring Security in Action
如果上面的验证机制不符合你的需求,Spring Security 是一个开放的平台,要实现你 自己的验证机制检查。 为了阅读方便,自己导出的文档,格式为HTML,文件也相对较小。 文档原地址:...
ssecurity项目是Spring Security实战(一和二)的源码; ssecurity-db项目是Spring Security实战(三)的源码; ssceurity-page项目是Spring Security实战(四)的源码; ssecurity-pageClass项目是Spring Security...
SpringSecurity框架的权限认证流程原理,请求到来时SpringSecurity如果调用层层过滤器来完成认证;
spring security2.5 jar 和spring security2.5 整合必须的jar包
三更springsecurity学习笔记
Spring Security 3.pdf Spring Security 3.pdf Spring Security 3.pdf Spring Security 3.pdf
SpringSecurity学习总结源代码
Spring Security。 官网 Spring Security API(Spring Security 开发文档).CHM
1.本项目为SpringCloud Gateway的微服务框架,整合了SpringSecurity,微服务间使用Redis来获取登陆的用户信息。 2.由于Gat
项目中使用到的技术包含SpringBoot、SpringSecurity&oauth2(安全资源和授权中心模式、包括登录接口自定义返回字段、自定义手机号+密码登录、自定义免密登录)、Queue队列、线程池、xss攻击配置、SpringCache、Mybatis...
spring security3 中文版本
SpringSecurity入门到进阶到高级,是我们老师给我们讲课用的,我们都照着配就没有问题,可以跑通,
SpringSecurity课程文档下载 pdf 教学