Spring Security3.1实践

收拾材料,收拾思路

3.1.Spring Security3.1的2种常见号码大全办法

Ø  用户信息和权限存储于数据库,而资本和权限的对应选用硬关键词挖掘工具编码装备。

Ø  细分角色和权限,并将角色、用户、资本、权限均都存储于数据库中。而且自定义过滤器,替代本来的FilterSecurityInterceptor过滤器;并分别完成AccessDecisionManager、UserDetailsService和InvocationSecurityMetadataSourceService,并在装备文件中进行相应装备。

Ø发现两者不可联系运用,会有疑问。

代码收拾

接下来开端着手代码编写,不管是两种完成办法中的哪种办法,个人感觉都需要把加载用户信息放在一个类里面办理,直观便利,构造明晰,不要用在装备文件直接写sql句子。

资本和权限对应写在装备文件中

1、     web.xml装备

a)     启动时加载Spring的jdbc和security装备文件。

b)      装备spring的servlet过滤器,使其能够辨认Spring Controller。

c)     加载Spring Security过滤器链署理,它依照次序履行spring的权限过滤器。

d)     其他业务加载,比方:log4j,字符集编码过滤器,session超时等。

Xml代码  保藏代码

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

webAppRootKey

springMvc

org.springframework.web.util.Log4jConfigListener

contextConfigLocation

classpath:/module/applicationContext-jdbc.xml,

classpath:/module/applicationContext-security.xml

log4jConfigLocation

classpath:/config/log4j.properties

org.springframework.web.context.ContextLoaderListener

springSecurityFilterChain

org.springframework.web.filter.DelegatingFilterProxy

springSecurityFilterChain

-        indexRead arguments from command-line "http://www.3h5.cn"

-        indexRead arguments from command-line "http://www.shoudashou.com"

-        indexRead arguments from command-line "http://www.4lunwen.cn"

-        indexRead arguments from command-line "http://www.zx1234.cn"

-        indexRead arguments from command-line "http://www.penbar.cn"

-        indexRead arguments from command-line "http://www.lunjin.net"

-        indexRead arguments from command-line "http://www.ssstyle.cn"

-        indexRead arguments from command-line "http://www.91fish.cn"

/*

springmvc

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:/module/applicationContext-servlet.xml

1

springmvc

/

org.springframework.web.util.IntrospectorCleanupListener

org.springframework.security.web.session.HttpSessionEventPublisher

20

encodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encodingFilter

/*

index.jsp

2、  application-security.xml文件的装备。application-servlet.xml装备不明白的参阅spring MVC3.0.5建立全程。

Xml代码  保藏代码

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.1.xsd">

use-expressions="true"

access-denied-page="/user/denied">

always-use-default-target="true"

authentication-failure-url="/user/login?error=1"

login-processing-url="/logincheck"

authentication-success-handler-ref="successHandler"/>

疑问:

我自个写了个User完成UserDetails,发现同一个账号能够一起登入,也即是说concurrency-control没有起到作用,参阅了一下材料后,重写一下User的hashcode,equals办法就行了。【后来发现的疑问,附件自个增加】

具体参阅:http://flashing.iteye.com/blog/823666

Java代码  保藏代码

@Override

public int hashCode() {

return username.hashCode();

}

@Override

public boolean equals(Object obj) {

User user = (User)obj;

return this.username.equals(user.getUsername());

}

解析:

a、use-expressions

如:hasRole(‘ROLE_ADMIN’或hasIpAddress(‘127.0.0.1’))等,看不明白的能够参阅下面连接。

http://static.springsource.org/spring-security/site/docs/3.0.7.RELEASE/reference/el-access.html

http://hougbin.iteye.com/blog/1526980

http://kongcodecenter.iteye.com/blog/1320021

b、

其特点hash即是加密的办法是什么?常用的可能是md5和sha吧。

首要说下盐值:不加这个特点,spring验证暗码时,直接用MD5加密后的值,与我们自个写的完成了UserDetailsService接口的类中loadUsersByUsername(String username)办法回来的UserDetails中的暗码进行对比;假如加了这个特点而且设置user-property=’username’[不知道能不能设置其他值,或许也能够设置password,没有尝试],加密前的明文就成为”暗码明文{盐值}”,这里的盐值为用户名。

c、remember-me的完成战略参阅下面:

http://static.springsource.org/spring-security/site/docs/3.0.x/reference/remember-me.html

http://blog.csdn.net/small_love/article/details/6641316

http://xyz20003.iteye.com/blog/223282

d、UserDetailsService能够通过手艺设置几个用户的权限:

Spring Security3.1实践

时间: 2024-08-09 02:20:27

Spring Security3.1实践的相关文章

spring security3.2配置---权限管理

之前已经在我的博客中发过security的运行流程图了,大家可以先去看看那个图再看这篇.今天我主要在这里贴出了security配置中的几个重要的类和两个xml配置文件,基本上控制权限的就是这几个文件了.因为最近都比较忙,一直没有时间发出来,导致有点忘记配置时的过程了,所以忘记了一些细节的内容,原本我打算写的详细一点的,但现在都有点忘记了,我在这里就不再一一写出来了,因为在每个文件的方法或配置里,我用注释说明了一些配置时所遇到的问题,大家可以看看,可能比较难看,因为表达可能不是很好,有些写得比较详

Spring Security3学习实例

Spring Security是什么? Spring Security,这是一种基于Spring AOP和Servlet过滤器的安全框架.它提供全面的安全性解决方案,同时在Web请求级和方法调用级处理身份确认和授权.在Spring Framework基础上,Spring Security充分利用了依赖注入(DI,Dependency Injection)和面向切面技术. 下面开始通过一个简单实例来理解security是如何控制权限的 注: 实例中将同过Spring Security3框架实现成功

Spring Security3的四种方法概述

使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过,并经过验证: 二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现,并经过验证. 三种是细分角色和权限,并将用户.角色.权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,     并分别实现Ac

JavaEE学习之Spring Security3.x——模拟数据库实现用户,权限,资源的管理

一.引言 因项目需要最近研究了下Spring Security3.x,并模拟数据库实现用户,权限,资源的管理. 二.准备 1.了解一些Spring MVC相关知识: 2.了解一些AOP相关知识: 3.了解Spring: 4.了解Maven,并安装. 三.实现步骤 本示例中使用的版本是Spring Security3.2.2.通过数据库实现Spring Security认证授权大致需要以下几个步骤: 1.新建maven web project(因为本示例使用的是maven来构建的),项目结构如下,

使用Spring Security3的四种方法概述

使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过,并经过验证: 二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现,并经过验证. 三种是细分角色和权限,并将用户.角色.权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,     并分别实现Ac

Spring Security3 - MVC 整合教程 (初识Spring Security3)

下面我们将实现关于Spring Security3的一系列教程.最终的目标是整合Spring Security + Spring3MVC完成类似于SpringSide3中mini-web的功能. Spring Security是什么? 引用 Spring Security,这是一种基于Spring AOP和Servlet过滤器的安全框架.它提供全面的安全性解决方案,同时在Web请求级和方法调用级处理身份确认和授权.在Spring Framework基础上,Spring Security充分利用了

Asp.net MVC + EF + Spring.Net 项目实践(目录)

用4篇博客来搭一个MVC的框架,可能对初学者会有一些帮助,大家共勉吧.我觉得对于中小型项目,这个框架可能还是有一定的用处的,希望能够帮助到一些人. Asp.net MVC + EF + Spring.Net 项目实践(一)添加项目结构 Asp.net MVC + EF + Spring.Net 项目实践(二)  通过数据库表生成Entity Asp.net MVC + EF + Spring.Net 项目实践(三)  调整Entity结构 Asp.net MVC + EF + Spring.Ne

springMVC3+apache CXF+spring security3+mybatis3(proxool)整合项目

整合出现很多问题,这里就不例举了,大家各自修炼吧,这里我只提供demo架包,可以在里面折腾.这里我说一下为什么会有这样的框架:我们项目要求是为子系统提供权限认证和管理(web service),同时对这些web service进行权限管理.所以demo中对security做了url和方法级的认证做了扩展,但没做具体实现. 1.web.xml <?xml version="1.0" encoding="UTF-8" ?> <web-app xmlns

spring security3.1配置比较纠结的2个问题

转自:http://www.iteye.com/topic/1122629 总论无疑问的,spring security在怎么保护网页应用安全上做得很强很周全,但有些地方还是很差强人意,比如对<http/>这个标签,对auto-config="true"与use-expressions="true"的描述和关系辨析上,就语焉不详.升级到3.1版本后,居然发现有莫名奇妙的错误,比如无法解析'ROLE_ADMIN'这样的标准配置,或者报: 引用 Field