`
brucewei777
  • 浏览: 84775 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

快速添加spring security模块

    博客分类:
  • java
阅读更多
    如果你只是听说了spring security的大名,但是知之甚少,但是又希望马上把验证功能添加到自己的程序中的人,那么就继续阅读吧,5分钟之内,如果上帝保佑,并且你复制粘贴得够快。
     最终的效果是这样的,用户名和密码都保存在数据库中;属于表单提交的登录;并且采用spring自带的j_spring_security_check来验证。如果结尾您觉得太简陋了,那就自行改进,要知道,5分钟,我也不可能带你走很远。因为写文章前半个小时,我刚刚走通这一步。
   首先,页面上是这样的:
<form action="j_spring_security_check">
<input type="text" name="j_username" >
<input type="password" name="j_password">
<input type="submit" value="login" > <input type="reset" value="reset">
</form>

当然,我去掉了样式。注意input的name都是固定的名字,因为我们用的是默认的
引用
j_spring_security_check


然后需要改变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>

这个要放在struts的filter之前,如果您的web.xml文件中有的话。

然后是applicationContext.xml文件,这个文件里面要配置两项,第一是配置数据源,
如果现有的数据库中用户表叫做
引用
users
,并且其中包含了username,password,authorities三项,那么authorities-by-username-query这个属性就不用写了,我这里写是因为我的数据库中,用户表叫做usertable,
<security:authentication-provider>
    <security:password-encoder hash="md5"/>
    <security:jdbc-user-service data-source-ref="dataSource" authorities-by-username-query="select username,authority from usertable where username=?"/>
</security:authentication-provider>

然后需要设置哪些资源要被保护起来,访问的权限,登录成功后展示的页面,访问被拒绝的展示页面等。
    <security:http auto-config="true" access-denied-page="/accessDenied.jsp">
        <security:intercept-url pattern="/login.html" filters="none"/>
        <security:intercept-url pattern="/img/*.*" filters="none"/>
        <security:intercept-url pattern="/styles/*.*" filters="none"/>
        <security:intercept-url pattern="/**" access="ROLE_ADMIN" />
        <security:form-login login-page='/login.html' authentication-failure-url="/login.html" default-target-url="/main.jsp" 
/>
    	<security:logout logout-success-url="/login.html"/>
    </security:http>

好了,一切都结束了。
分享到:
评论
16 楼 txw1013 2010-06-11  
对这个东东还不是很了解,以后要多多关注
15 楼 huangyuanmu 2010-06-09  
brucewei777 写道
huangyuanmu 写道
spring security功能很强大,但是要用好也不容易,所以一直没有鼓起勇气在项目中使用。

在web项目里一直都是用的一套自己写的基于url为核心的资源控制系统,因为我们大多数的项目都很简单,控制到url这一级别就足够了。


不用害怕,如果有兴趣,很快就能实现较简单的功能。


其实主要是嫌其用起来太烦,配置太多,入门较高,不利于一般开发人员快速掌握。还有,我们的系统一般权限控制比较简单,杀鸡就不用牛刀了。

不过,还是持续关*注*中(敏感词,晕)。
14 楼 brucewei777 2010-06-09  
huangyuanmu 写道
spring security功能很强大,但是要用好也不容易,所以一直没有鼓起勇气在项目中使用。

在web项目里一直都是用的一套自己写的基于url为核心的资源控制系统,因为我们大多数的项目都很简单,控制到url这一级别就足够了。


不用害怕,如果有兴趣,很快就能实现较简单的功能。
13 楼 huangyuanmu 2010-06-09  
spring security功能很强大,但是要用好也不容易,所以一直没有鼓起勇气在项目中使用。

在web项目里一直都是用的一套自己写的基于url为核心的资源控制系统,因为我们大多数的项目都很简单,控制到url这一级别就足够了。
12 楼 slaser 2010-06-09  
认证那块太简单了,还是授权复杂点。
11 楼 plusir 2010-06-09  
wenqxin 写道
搞了半天,还不知道是用的哪个版本的.
有点简单,有时间可以玩一下 .


看配置代码应该是2.xx
3.xx的authentication-provider是authentication-manager的子元素
10 楼 imshare 2010-06-09  
用过一次spring security感觉还是很不错的。
9 楼 godson_2003 2010-06-08  
一直没研究好这个东西。。
8 楼 zhongxinhu 2010-06-08  
谢谢!刚好最近我也在研究这个
7 楼 wpfwupengfeiwpf 2010-06-08  
呵呵,兄弟这真是快速啊
6 楼 brucewei777 2010-06-08  
magibt 写道
spring security把事情稿复杂了,太多用不上的功能

基于角色的认证没必要用这个


个人感觉,框架的特点就是这样,需要面对很多需求。
非常适合解燃眉之急。
5 楼 magibt 2010-06-08  
spring security把事情稿复杂了,太多用不上的功能

基于角色的认证没必要用这个
4 楼 brucewei777 2010-06-08  
wenqxin 写道
搞了半天,还不知道是用的哪个版本的.
有点简单,有时间可以玩一下 .

2.0的,看样子你不急着用
3 楼 brucewei777 2010-06-08  
xyz20003 写道
你确认不想先看看我们写的spring security文档?
http://xyz20003.iteye.com/blog/440486


当然要看,你们写的很详细,我只是任务紧,需要快速上手,还没来得及消化很多东西。
2 楼 xyz20003 2010-06-08  
你确认不想先看看我们写的spring security文档?
http://xyz20003.iteye.com/blog/440486
1 楼 wenqxin 2010-06-08  
搞了半天,还不知道是用的哪个版本的.
有点简单,有时间可以玩一下 .

相关推荐

    Spring Security模块

    **Spring Security 模块详解** Spring Security 是一个强大的且高度可定制的身份验证和访问控制框架,主要用于构建安全的 Java Web 应用程序。它提供了一套全面的安全解决方案,包括身份验证、授权、会话管理以及跨...

    spring security3 中文版本

    Spring Security 的目标是使开发人员能够快速地为应用程序添加安全功能,同时提供足够的灵活性来满足特定需求。 ##### 1.2 历史 Spring Security 的前身是 Acegi Security,它于 2004 年发布。2006 年,Acegi 被...

    SpringBoot+SpringSecurity+WebSocket

    接着,SpringSecurity是Spring生态系统中的安全模块,用于实现身份验证和授权。它提供了一套全面的安全解决方案,包括登录认证、权限控制、CSRF保护等。在"SpringBoot+SpringSecurity"的组合中,SpringSecurity负责...

    spring-security 官方文档 中文版

    - **最小 &lt;http&gt; 配置**:使用 `&lt;http&gt;` 元素可以快速启用 Spring Security 的基本功能。 - **auto-config 包含了什么?**:`&lt;http auto-config="true"&gt;` 可以自动配置一些默认的安全措施,如开启 HTTP Basic 身份...

    spring security reference【洋文】

    在Maven项目中,可以通过在pom.xml文件中添加依赖来获取Spring Security的各个模块,例如spring-security-core、spring-security-web等。如果使用Gradle,配置方式类似,也可以设置项目的Spring Framework的Bill of ...

    IDEA+SpringBoot+SpringSecurity:整个SpringSecurity的实现过程,可应用于线上产品

    在`build.gradle`或`pom.xml`文件中添加对应的Maven或Gradle坐标,确保项目能够识别并使用SpringSecurity库。 接下来,配置SpringSecurity。这通常通过创建一个自定义的`SecurityConfig`类完成,该类继承自`...

    Spring Security 中文教程.pdf

    - **项目模块**:Spring Security包含了多个模块,如Core、Web、Config等,每个模块都有其特定的功能和服务。 - **获得源代码**:可以通过官方网站或其他途径获取Spring Security的源代码,以便深入了解其内部实现...

    ssh项目添加spring Security

    1. **添加依赖**:在SSH项目中,我们需要在`pom.xml`或`build.gradle`文件中添加Spring Security的依赖。确保版本与项目的其他Spring库兼容。 2. **配置Spring Security**:创建一个名为`security-config.xml`的...

    springsecurity官方文档3.2

    - **添加自定义过滤器**: 如何向 Spring Security 添加自定义的安全过滤器。 - **设置自定义认证入口点**: 如何配置自定义的认证入口点。 - **方法安全**: - **`&lt;global-method-security&gt;` 元素**: 介绍该元素...

    spring-security Jar包

    8. **自定义扩展**:Spring Security 的设计是模块化的,允许开发者根据需求添加或替换组件,如认证提供者、授权策略、加密机制等,以适应各种复杂的安全场景。 9. **安全性配置**:配置Spring Security 主要通过...

    SpringBoot集成Spring Security登录管理 添加 session 共享【完整源码+数据库】

    我们将基于给定的标签——SpringBoot、SpringSecurity、mysql、session共享和idea来构建一个完整的示例。 首先,SpringBoot是一个轻量级的Java框架,它简化了创建独立的、生产级别的基于Spring的应用程序。通过内置...

    springboot+springsecurity入门

    - 添加SpringSecurity依赖到pom.xml文件。 - 配置WebSecurityConfigurerAdapter子类,重写其方法以实现安全规则。 - 注册自定义的AuthenticationProvider,处理用户验证逻辑。 2. 创建自定义登录表单: - 在...

    spring boot +spring security+thymeleaf实现权限

    接下来是Spring Security,它是Spring生态系统的安全模块,用于处理身份验证和授权。Spring Security允许我们定义访问控制规则,例如哪些用户可以访问哪些资源。在我们的例子中,我们可以配置Spring Security来拦截...

    Spring Security的例子

    在这个例子中,包含的所有jar包很可能是Spring Security框架所需的基本依赖,包括Spring Security的核心库、Web支持、OAuth2模块等。这些库将帮助开发者集成Spring Security到他们的应用中,提供安全功能。 在实际...

    springsecurity电子书

    在 SpringSecurity电子书中,作者Ben Alex和Luke Taylor提供了对Spring Security的全面介绍,涵盖了从基本概念到高级特性以及如何配置和使用Spring Security的详细指南。 知识点一:Spring Security基础 1. Spring ...

    Spring Security 新手入门级maven实例

    Spring Security的核心库和相关的Spring模块需要被添加到`dependencies`节点下。例如: ```xml &lt;groupId&gt;org.springframework.security &lt;artifactId&gt;spring-security-config &lt;version&gt;5.6.2 &lt;groupId&gt;...

    Spring Security集成CAS客户端实例

    添加Spring Security和CAS客户端库到`pom.xml`文件,确保所有必需的依赖项都已引入。 2. **配置Spring Security**:在Spring Security的配置文件(如`security-context.xml`)中,我们需要定义CAS服务器的URL,并...

    SpringBoot2.6整合SpringSecurity+JWT

    Spring Security是Spring框架的一个模块,提供了一套强大的安全控制机制,而JWT则是一种轻量级的身份验证和授权机制,广泛应用于微服务架构中。 **一、Spring Security简介** Spring Security是一个全面的、高度可...

    spring mvc 和spring security自定义登录

    其次,Spring Security是Spring生态中的安全模块,它提供了一套全面的安全解决方案,包括认证、授权、会话管理等。开发者可以通过配置或编程的方式,利用Spring Security保护Web应用程序的各个层面,防止未授权访问...

    spring security4架包

    10. **spring-security-taglibs-4.1.0.BUILD-SNAPSHOT.jar**:包含了一系列JSP标签库,简化了在视图层添加安全功能,如显示登录表单、权限检查等。 综上所述,这个"spring security4架包"涵盖了Spring Security的...

Global site tag (gtag.js) - Google Analytics