`
andy_ghg
  • 浏览: 293383 次
  • 性别: Icon_minigender_1
  • 来自: 扬州
社区版块
存档分类
最新评论

MyEclipse中Spring Security 3.0.3无废话配置(第一章)。

    博客分类:
  • Java
阅读更多
第一件事,下载中文说明文档,搜索一下就能找到。
第二件事,找到官方原版英文说明文档,搜索一下就能找到。
第三件事,需要注意的问题:
1.请使用MyEclipse 自带的Spring 3与Spring Security 3(以下简称SS3),我的MyEclipse是8.6,自带的版本是SS3.0.3。
2.登录的表单用户名必须是j-username,密码必须是j-password,表单的action必须是"/你的项目/j_spring_security_check",这里是否可以定制,我不清楚。
3.MyEclise 8.6自带的Hibernate与Spring与SS3之间没有任何Jar包冲突,出现问题请不要怀疑Jar包的问题。(至少我的目前为止没有任何冲突)
4.注意头文件,Spring的头文件是:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="  
	http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
	http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
	http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
</beans>

SS3的头文件是
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
	xmlns:beans="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-3.0.xsd 
	http://www.springframework.org/schema/security 
	http://www.springframework.org/schema/security/spring-security-3.0.xsd">
</beans:bean>

5.Spring security 3的Filter一定要在Struts2后面,否则表单提交会首先被Struts2拦截,会有可能出现异常。

好了,正式配置开始。
第一步:配置web.xml
在web.xml中加入Spring以及SS3的参数如下:
<!--Spring的ApplicationContext 载入 -->
	<listener>
		<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
	</listener>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext.xml</param-value>
	</context-param>

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

第二步:加入SS3配置文件
在applicationContext.xml中加载SS3的配置文件,在文件最末加上以下代码(路径自己决定,但是要保证能加载到SS3的配置文件):
<import resource="applicationContext-security.xml"/>

第三步:最简单的运行配置
为SS3的配置文件加上最简单的配置,让整个项目能运行起来,在SS3配置文件中加入如下代码(头文件请参考上面的代码):
<http auto-config='true'>
    <intercept-url pattern="/**" access="ROLE_USER" />
</http>

运行一下,会报错,是否说没有配置<authentication-manager>?如果不是,请解决掉问题否则进入下一步
第四步:配置<authentication-manager>
在SS3的配置文件中加入以下代码:
<authentication-manager>
	<authentication-provider>
		<user-service>
			<user name="jimi" password="jimispassword" authorities="ROLE_USER, ROLE_ADMIN" />
			<user name="bob" password="bobspassword" authorities="ROLE_USER" />
		</user-service>
	</authentication-provider>
</authentication-manager>

再次运行,如果没有出错,则进入下一步,否则请解决掉错误。

第五步:访问我们的项目
打开浏览器输入项目的URL地址,然后定位到index.jsp,这时候你会发现页面被强制定位到了一个登录界面,虽然难看,但是代表我们成功了,尝试输入用户名:jimi,密码:jimispassword,点击登录按钮,是否跳转到index.jsp(你得保证你项目里确实有这个页面)?
右键查看源代码,找到它的表单各项的名称、action等信息,下面备用。

第六步:定制我们自己的登录界面
新建login.jsp,然后在SS3.0的配置文件中的http标签中加入配置,最终如下所示:
<http auto-config='true' access-denied-page="/common/403.jsp">
		<intercept-url pattern="/css/**" filters="none" />
		<intercept-url pattern="/images/**" filters="none" />
		<intercept-url pattern="/login.jsp*" access="IS_AUTHENTICATED_ANONYMOUSLY" />
                <form-login login-page='/login.jsp' />
		<intercept-url pattern="/**" access="ROLE_USER" /> />
	</http>

common/403.jsp代表当用户没有权限的时候跳转到这个页面,form-login标签内就是指向你自定义的登录界面。配置完毕后,再次运行项目,输入URL,这时就会跳转到你的自定义登录界面了。输入帐号密码,点击登录,功能与刚才看到的一样(表单设计请参考第三件事中的第2小段文字)。

要工作了,晚上在下一章介绍如何使用数据库验证用户名密码。
2
0
分享到:
评论
3 楼 l5061109 2012-05-09  
密码校验是自己通过从数据库中取到用户信息,包括用户名,密码,角色。然后封装为一个User对象,返回给security,框架自己进行密码校验
2 楼 andy_ghg 2012-03-19  
Navee 写道
我有一点疑惑就是密码的验证是交给这个框架做的还是服务层自己实现的呢?

交给这个框架
1 楼 Navee 2012-03-18  
我有一点疑惑就是密码的验证是交给这个框架做的还是服务层自己实现的呢?

相关推荐

    myeclipse 8.5的spring security 2.0.5的简单练习(图解)

    本篇文章将详细介绍如何在 MyEclipse 8.5 中使用 Spring Security 2.0.5 来实现一个简单的权限管理示例。Spring Security 是一个功能强大的安全框架,它为 Java 应用程序提供了认证、授权等功能。对于初学者来说,...

    Spring在MyEclipse中的配置

    ### Spring在MyEclipse中的配置详解 #### 一、引言 随着企业级应用的不断发展,Spring框架因其轻量级且强大的依赖注入(Dependency Injection, DI)与面向切面编程(Aspect-Oriented Programming, AOP)能力而受到...

    myeclipse中spring配置文件输入提示配置.docx

    ### MyEclipse中Spring配置文件输入提示配置详解 #### 一、问题背景及解决思路概述 在使用MyEclipse进行Java开发时,特别是在涉及到Spring框架的应用中,经常会遇到配置文件编辑过程中缺乏智能提示的问题。这对于...

    在myeclipse自动提示spring的配置信息

    在MyEclipse中进行Spring框架的开发时,自动提示功能是一项非常重要的辅助工具,它能够极大地提高开发效率,减少手动查找文档的时间。本篇将详细讲解如何在MyEclipse中设置和利用自动提示来获取Spring配置信息。 1....

    使用MyEclipse查看Spring的依赖视图

    本文将详细介绍如何使用MyEclipse这一集成开发环境(IDE)来查看Spring框架中的依赖关系,并通过具体的步骤指导读者如何操作。 #### 二、MyEclipse中添加对Spring的支持 为了能够利用MyEclipse查看Spring的依赖...

    spring security3.2下载、配置

    security3.2最新版本配置,资源里面有4个小项目,都是利用maven搭建的,先在mysql中新建一个security空数据库,不要建表,然后只要在myeclipse导入,运行maven install,在连网状态下就会自动下载jar包了,无需再去...

    MyEclipse for spring9.0下载地址

    1. **Spring框架集成**:MyEclipse for Spring 9.0提供了一整套针对Spring框架的支持工具,包括但不限于Spring项目创建、配置管理、代码自动生成等功能。 2. **增强的编辑器**:具备强大的代码编辑功能,支持语法...

    myeclipse for spring 8.6

    Spring框架是由Rod Johnson创建的一个轻量级开源框架,最初目的是简化企业级应用开发中的复杂性。Spring框架的核心功能包括依赖注入(Dependency Injection, DI)、面向切面编程(Aspect-Oriented Programming, AOP...

    解决Myeclipse中spring配置文件无提示.docx

    在使用MyEclipse进行Spring框架开发时,可能会遇到一个常见的问题,即在编辑Spring配置文件时没有代码提示。这个问题通常是由于MyEclipse无法访问到Spring的XML Schema定义文件导致的。Spring的XML Schema文件通常...

    Spring Security学习总结一

    为了演示Spring Security的配置和使用,我们可以构建一个简单的Web项目,使用MyEclipse导入Spring和Spring Security的相关JAR包,然后配置Spring Security来保护Web资源。在本例中,用户信息(用户名、密码和权限)...

    MyEclipse for Spring环境注册码

    在MyEclipse中集成Spring环境,意味着开发者可以利用MyEclipse的高级功能来优化Spring框架的应用。这包括但不限于代码自动生成、智能提示、调试工具以及对Spring配置文件的可视化编辑等功能。这些功能的集成,大大...

    MyEclipse Spring 快速入门中文教程

    本教程旨在帮助初学者快速掌握如何在MyEclipse中配置和使用Spring框架,从而提升开发效率。 **1. 安装与配置MyEclipse** 首先,你需要下载并安装MyEclipse。安装过程中,确保选择了包含Spring支持的选项。安装完成...

    用MyEclipse开发spring.doc

    通过以上步骤,你已经成功地在 MyEclipse 中搭建了 Spring 开发环境,并完成了一个简单的案例,展示了如何使用 Spring 进行依赖注入和接口实现。在实际项目中,你可以根据需求扩展 Bean 配置,以及利用 Spring 提供...

    MyEclipse For Spring 8.6.5

    MyEclipse For Spring 8.6.5

    基于myeclipse的spring学习的各种实例

    在本文中,我们将深入探讨如何基于MyEclipse和MySQL环境学习Spring框架,并通过一系列实例来掌握其核心概念和功能。Spring是一个开源的Java平台,它为构建企业级应用提供了全面的框架支持,包括依赖注入、面向切面...

    MyEclipse For Spring 8.6.15

    MyEclipse For Spring 8.6.15

    spring security 3 登录 退出 认证 最少配置

    应用中涉及到安全认证,目前项目有独立的统一认证网关,所以登录时只需要将安全认证网关的认证后信息塞到spring security中,由security3来管理用户的权限设置。目前项目由spring security2升级到spring security3。...

    MyEclipse for spring8.6 注册机

    MyEclipse for spring8.6 注册机 有效期到2017年

    MyEclipse中配置JBoss

    【标题】:“MyEclipse中配置JBoss” 在IT行业中,MyEclipse是一款深受开发者喜爱的集成开发环境(IDE),尤其对于Java EE项目开发来说,它提供了强大的支持。而JBoss则是一个开源的应用服务器,广泛用于部署和管理...

Global site tag (gtag.js) - Google Analytics