首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

spring security 3.x 边学习边胡搅(1)

2013-11-20 
spring security 3.x 边学习边胡来(1)1. 简介? ?Spring Security基于Spring框架提供了一整套(相对)完整的w

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

1. 简介

? ?Spring Security基于Spring框架提供了一整套(相对)完整的web应用解决方案。Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。认证上包含http表单,http摘要、OpenID和LDAP等,在授权方面有ACL访问控制列表和基于角色的访问控制。

?

2. ?Hello World 型的基本简单配置

?

? ?2.1 Web.xml 添加 spring security 的过滤器

?

?

<context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:/spring-security.xml</param-value></context-param><!-- Filter --><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>

?

?

?

? ? 2.2 web.xml 中加入 spring-mvc 的配置用于control

??

<!-- Spring MVC --><servlet>          <servlet-name>springMVC</servlet-name>          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>          <init-param>        <param-name>contextConfigLocation</param-name>        <param-value>classpath*:/springMVC.xml</param-value>        </init-param>        <load-on-startup>1</load-on-startup>  </servlet> <servlet-mapping>      <servlet-name>springMVC</servlet-name>      <url-pattern>/</url-pattern></servlet-mapping><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>

?

?

? ?2.3 spring-security.xml 配置

?

?

<http auto-config='true'>    <intercept-url pattern="/**" access="ROLE_USER" /></http

?

?

? ?最小的配置,auto-config=true 等于

?

<http>    <form-login />    <http-basic />    <logout />  </http>

?

?

? intercept-url 即 拦截的url, "/**" 表示所有的全拦截了,access表示role_user的认证用户才能连接

? ?

? 2.4 form-login 配置

?

<sec:form-login login-page="/portal/login.jsp" authentication-failure-url="/portal/login.jsp?sb"/>

? ?

?

? ?这个已经是对form-login的个性配置了,login-page配置login的连接,取代默认的spring-security-check(记不清了,可以不配置的情况下看下,authentication-failure-url表示认证出错是跳转的url

?

? ?2.5 intercept-url 配置非认证用户都可以连接

??

?

<sec:intercept-url pattern="/portal/login.**" access="IS_AUTHENTICATED_ANONYMOUSLY"/>

?

?

? ?2.6 logout配置

? ??

<sec:logout logout-url="/logout" logout-success-url="/portal/login.jsp"/>

?

?

? ?2.7 Authentication 配置

? ??

? ? 这边用的固定用户,实际项目可能不这样写,这例子就简便处理,后面再学习换成datasource

? ??

<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>

?

?

3. 例子说明

? ?

? ? 到这可以运行例子了,当然如果form-login配置了login-page的话必须自己写个页面来登录,上面index.jsp等都自己随便写。

? ? 简单的http表单的认证登录就完成了,后面要做的就是根据实际情况改装,深入。

?

? ? (持续更新中.....)

?

?

?

?

?

热点排行