spring
文章平均质量分 77
caomiao2006
这个作者很懒,什么都没留下…
展开
-
相关SpringSecurity对于部分菜单隐藏的相关代码
taglib prefix="sec" uri="http://www.springframework.org/security/tags"%> ifAllGranted="ROLE_ADMIN,ROLE_USER"> admin and user ifAnyGranted="ROLE_ADMIN,ROLE_USER">转载 2016-07-02 20:38:26 · 2124 阅读 · 0 评论 -
Spring Security(16)——基于表达式的权限控制
基于表达式的权限控制目录1.1 通过表达式控制URL权限1.2 通过表达式控制方法权限1.2.1 使用@PreAuthorize和@PostAuthorize进行访问控制1.2.2 使用@PreFilter和@PostFilter进行过滤1.3 使用hasPermission表达式 Spring Secur转载 2016-07-02 20:37:38 · 17757 阅读 · 0 评论 -
Spring Security(15)——权限鉴定结构
权限鉴定结构目录1.1 权限1.2 调用前的处理1.2.1 AccessDecisionManager1.2.2 基于投票的AccessDecisionManager实现1.3 调用后的处理1.4 角色的继承 1.1 权限 所有的Authentication实现类都保存了一个Grant转载 2016-07-02 20:36:57 · 674 阅读 · 0 评论 -
Spring Security(14)——权限鉴定基础
权限鉴定基础 目录1.1 Spring Security的AOP Advice思想1.2 AbstractSecurityInterceptor1.2.1 ConfigAttribute1.2.2 RunAsManager1.2.3 AfterInvocationManager Spring Security的权限转载 2016-07-02 20:36:26 · 741 阅读 · 0 评论 -
Spring Security(13)——session管理
session管理目录 1.1 检测session超时1.2 concurrency-control1.3 session 固定攻击保护 Spring Security通过http元素下的子元素session-management提供了对Http Session管理的支持。 1.1 检测session超时转载 2016-07-02 20:35:36 · 1997 阅读 · 0 评论 -
Spring Security(12)——Remember-Me功能
Remember-Me功能 目录 1.1 概述1.2 基于简单加密token的方法1.3 基于持久化token的方法1.4 Remember-Me相关接口和实现类1.4.1 TokenBasedRememberMeServices1.4.2 PersistentTokenBasedRememberMeServices转载 2016-07-02 20:35:11 · 612 阅读 · 0 评论 -
Spring Security(11)——匿名认证
匿名认证目录1.1 配置1.2 AuthenticationTrustResolver 对于匿名访问的用户,Spring Security支持为其建立一个匿名的AnonymousAuthenticationToken存放在SecurityContextHolder中,这就是所谓的匿名认证。这样在以后进行权限认证或者做其它操作时我们就不需要再判断Se转载 2016-07-02 20:34:31 · 5417 阅读 · 0 评论 -
Spring Security(10)——退出登录logout
要实现退出登录的功能我们需要在http元素下定义logout元素,这样Spring Security将自动为我们添加用于处理退出登录的过滤器LogoutFilter到FilterChain。当我们指定了http元素的auto-config属性为true时logout定义是会自动配置的,此时我们默认退出登录的URL为“/j_spring_security_logout”,可以通过logout元素的l转载 2016-07-02 20:33:53 · 1138 阅读 · 0 评论 -
Spring Security(09)——Filter
Filter目录1.1 Filter顺序1.2 添加Filter到FilterChain1.3 DelegatingFilterProxy1.4 FilterChainProxy1.5 Spring Security定义好的核心Filter1.5.1 FilterSecurityInterceptor1.5.2 E转载 2016-07-02 20:33:27 · 511 阅读 · 0 评论 -
Spring Security(08)——intercept-url配置
intercept-url配置目录1.1 指定拦截的url1.2 指定访问权限1.3 指定访问协议1.4 指定请求方法 1.1 指定拦截的url 通过pattern指定当前intercept-url定义应当作用于哪些url。"/**" access="ROLE_USER"/> 1.2 指定访问权限转载 2016-07-02 20:32:48 · 2259 阅读 · 0 评论 -
Spring Security(07)——缓存UserDetails
Spring Security提供了一个实现了可以缓存UserDetails的UserDetailsService实现类,CachingUserDetailsService。该类的构造接收一个用于真正加载UserDetails的UserDetailsService实现类。当需要加载UserDetails时,其首先会从缓存中获取,如果缓存中没有对应的UserDetails存在,则使用持有的UserD转载 2016-07-02 20:32:18 · 801 阅读 · 0 评论 -
Spring Security(06)——AuthenticationProvider
AuthenticationProvider目录1.1 用户信息从数据库获取1.1.1 使用jdbc-user-service获取1.1.2 直接使用JdbcDaoImpl1.2 PasswordEncoder1.2.1 使用内置的PasswordEncoder1.2.2 使用自定义的PasswordEncoder转载 2016-07-02 20:31:42 · 969 阅读 · 0 评论 -
Spring Security(05)——异常信息本地化
异常信息本地化 Spring Security支持将展现给终端用户看的异常信息本地化,这些信息包括认证失败、访问被拒绝等。而对于展现给开发者看的异常信息和日志信息(如配置错误)则是不能够进行本地化的,它们是以英文硬编码在Spring Security的代码中的。在Spring-Security-core-xxx.jar包的org.springframework.securit转载 2016-07-02 20:30:51 · 489 阅读 · 0 评论 -
Spring Security(04)——认证简介
认证简介目录1.1 认证过程1.2 Web应用的认证过程1.2.1 ExceptionTranslationFilter1.2.2 在request之间共享SecurityContext 1.1 认证过程 1、用户使用用户名和密码进行登录。 2、Spring Security将获取到的用户名和密码封装成转载 2016-07-02 20:30:18 · 497 阅读 · 0 评论 -
Spring Security(03)——核心类简介
核心类简介目录1.1 Authentication1.2 SecurityContextHolder1.3 AuthenticationManager和AuthenticationProvider1.3.1 认证成功后清除凭证1.4 UserDetailsService1.4.1 JdbcDaoImpl1.4.2 I转载 2016-07-02 20:29:35 · 578 阅读 · 0 评论 -
Spring Security3 - MVC 整合教程 (初识Spring Security3)
下面我们将实现关于Spring Security3的一系列教程. 最终的目标是整合Spring Security + Spring3MVC 完成类似于SpringSide3中mini-web的功能. Spring Security是什么? 引用Spring Security,这是一种基于Spring AOP和Servlet过滤器的安全框架。它提供全面的安全性解决转载 2016-07-02 20:40:46 · 585 阅读 · 0 评论 -
spring scheduled-task集群问题
背景我经常使用spring自带的轻量级的定时任务实现,即@Scheduled注解但是在分布式环境下,这种定时任务是不支持集群配置的我现在面对的场景如下:1.双机部署2.系统在启动时,需要进行一系列的数据初始化,但是这种初始化是需要持久化到集中式缓存中,或者数据库中,或者保存到相应的队列中,等待处理问题: 怎么能保证双机情况下(或者是集转载 2016-10-07 17:24:39 · 3156 阅读 · 0 评论 -
如何用Spring实现集群环境下的定时任务
定时任务的实现方式有多种,例如JDK自带的Timer+TimerTask方式,Spring 3.0以后的调度任务(Scheduled Task),Quartz等。Timer+TimerTask是最基本的解决方案,但是比较远古了,这里不再讨论。Spring自带的Scheduled Task是一个轻量级的定时任务调度器,支持固定时间(支持cron表达式)和固定时间间隔调度任务,支持线程池管转载 2016-10-07 17:21:31 · 19096 阅读 · 14 评论 -
Spring-Task用法
Spring-Task上节介绍了在spring 中使用Quartz,本文介绍Spring3.0以后自主开发的定时任务工具,spring task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种形式,下面将分别介绍这两种方式。第一种:配置文件方式第一步:编写作业类转载 2016-10-07 17:16:57 · 616 阅读 · 0 评论 -
Quartz Spring与Spring Task总结
Spring对Quartz作了一个封装,同时,Spring自己也提供了一个任务定时器(spring-task),现把它总结一下。 对于Quartz,我们使用的时候主要是注重两个方面,一个是定时任务的业务,另一个就是Cron表达式。定时任务跟具体的业务相关,这无需多说,这里只说明表达式含义及其写法。 Cron表达式包括下面7个字段并区别顺序:秒0-59,分0-59,小时0-23,转载 2016-10-07 17:14:33 · 626 阅读 · 0 评论 -
Spring @Configuration 使用
虽然 2.0 版本发布以来,Spring 陆续提供了十多个注解,但是提供的这些注解只是为了在某些情况下简化 XML 的配置,并非要取代 XML 配置方式。这一点可以从 Spring IoC 容器的初始化类可以看出:ApplicationContext 接口的最常用的实现类是 ClassPathXmlApplicationContext 和 FileSystemXmlApplicationCon转载 2016-07-17 20:41:45 · 3541 阅读 · 0 评论 -
Spring中基于Java的配置@Configuration和@Bean用法
spring中为了减少xml中配置,可以生命一个配置类(例如SpringConfig)来对bean进行配置。一、首先,需要xml中进行少量的配置来启动Java配置:[java] view plain copy print?"1.0" encoding="UTF-8"?> "http://www.springframework.o转载 2016-07-17 20:41:00 · 607 阅读 · 0 评论 -
property和constructor-arg的使用
由于好久没去看spring的东西,以前的知道差不多都忘记了,今天重新学习一下如何使用,以后在慢慢的一个一个知识点的深究。我发现学过的东西还是要记录下来,否则以后又要重新找资料。纯属个人学习笔记。 一:依赖注入的方式 constructor-arg:通过构造函数注入。 property:通过setxx方法注入。 二:constructor-arg的简单使用 j转载 2016-07-03 01:20:27 · 1089 阅读 · 0 评论 -
newbie: <lists> versus <util:list>
I want to initialize a list property in proper Spring 2 fashion. Should I be using ? What's the syntax?Here's the way I used to do it:Code: Sleepy Grumpy Bashful转载 2016-07-03 01:19:11 · 477 阅读 · 0 评论 -
Spring通过@Value注解注入属性的几种方式
场景假如有以下属性文件dev.properties, 需要注入下面的tagtag=123通过PropertyPlaceholderConfigurer 代码@Value("${tag}")private String tag;通过PreferencesPlaceholderConfigurer 代码:@Value(转载 2016-07-03 01:16:37 · 6958 阅读 · 0 评论 -
Spring中配置和读取多个Properties文件
一个系统中通常会存在如下一些以Properties形式存在的配置文件1.数据库配置文件demo-db.properties:Properties代码 database.url=jdbc:mysql://localhost/smaple database.driver=com.mysql.jdbc.Driver database.user=root转载 2016-07-03 01:16:03 · 8281 阅读 · 0 评论 -
propertiesfactorybean vs propertyplaceholderconfigurer spring?
PropertiesFactoryBean is a FactoryBean implementation which reads a properties file and exposes that as an Properties object in the applicationcontext. 加载配置文件后,可以在代码中通过注解直接使用,如 @Value("#{qfangC转载 2016-07-03 01:14:27 · 443 阅读 · 0 评论 -
PropertiesFactoryBean PropertyPlaceholderConfigurer 区别
正如 stackoverflow 上说的,PropertiesFactoryBean 是PropertiesLoaderSupport 直接的实现类, 专门用来管理properties文件的工厂bean,默认是单例的,而 PropertyPlaceholderConfigurer 是 解决 properties 文件占位符问题的,也实现了 PropertiesLoaderSupport转载 2016-07-03 01:13:41 · 6171 阅读 · 0 评论 -
SPRING SECURITY 3.X 完整入门教程(转)
Spring Security 3.x 出来一段时间了,跟Acegi是大不同了,与2.x的版本也有一些小小的区别,网上有一些文档,也有人翻译Spring Security 3.x的guide,但通过阅读guide,无法马上就能很容易的实现一个完整的实例。我花了点儿时间,根据以前的实战经验,整理了一份完整的入门教程,供需要的朋友们参考。1,建一个web project,并导入所有需要的l转载 2016-07-03 01:07:32 · 558 阅读 · 0 评论 -
Spring Security(02)——关于登录
关于登录目录1.1 form-login元素介绍1.1.1 使用自定义登录页面1.1.2 指定登录后的页面1.1.3 指定登录失败后的页面1.2 http-basic 1.1 form-login元素介绍 http元素下的form-login元素是用来定义表单登录信息的。当我们什么属性都不指定的时候Sprin转载 2016-07-02 20:28:20 · 523 阅读 · 0 评论 -
Spring Security(01)——初体验
首先我们为Spring Security专门建立一个Spring的配置文件,该文件就专门用来作为Spring Security的配置。使用Spring Security我们需要引入Spring Security的NameSpace。beans xmlns="http://www.springframework.org/schema/beans" xmlns:security="http:转载 2016-07-02 20:27:40 · 661 阅读 · 0 评论 -
Spring Security优劣之我见
Spring Security优劣之我见 拜读了Spring Security相关帖子和Spring Security参考文档。现将我理解的Spring Security写下来和大家共享。 本文目的是从Spring Security能够提供的功能、以及基本原理角度分析,并不深入到如何编码。然后反过来,审查我们的软件系统需要哪些权限控制。进而评审Spring Security的适用性转载 2016-07-02 20:26:52 · 20721 阅读 · 7 评论 -
Spring Security 的大体框架和原理
(1)在web.xml中配置过滤器,这样就可以控制这个项目的每个请求。(2)在applicationContext.xml配置,其中http标签配置如何截用户请求,和配置用户认证(固定用户、使用数据库管理用户)。(3)过滤器最上层为HttpSessionContextIntegrationFilter、然后是LogoutFilter(4)spring security中重要转载 2016-07-02 20:25:35 · 720 阅读 · 0 评论 -
Spring常用的接口和类(三)
一、CustomEditorConfigurer类 CustomEditorConfigurer可以读取实现java.beans.PropertyEditor接口的类,将字符串转为指定的类型。更方便的可以使用PropertyEditorSupport。PropertyEditorSupport实现PropertyEditor接口,必须重新定义setAsText。转载 2016-07-10 17:57:41 · 934 阅读 · 0 评论 -
【第四章】 资源 之 4.4 Resource通配符路径 ——跟我学spring3
4.4.1 使用路径通配符加载Resource 前面介绍的资源路径都是非常简单的一个路径匹配一个资源,Spring还提供了一种更强大的Ant模式通配符匹配,从能一个路径匹配一批资源。 Ant路径通配符支持“?”、“*”、“**”,注意通配符匹配不包括目录分隔符“/”: “?”:匹配一个字符,如“config?.x转载 2016-05-02 15:19:57 · 834 阅读 · 0 评论 -
spring的启动过程——spring和springMVC父子容器的原理
要想很好理解这三个上下文的关系,需要先熟悉spring是怎样在web容器中启动起来的。spring的启动过程其实就是其IoC容器的启动过程,对于web程序,IoC容器启动过程即是建立上下文的过程。spring的启动过程:首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后面的spring IoC转载 2016-05-01 15:04:33 · 25913 阅读 · 6 评论 -
Spring中ApplicationContext的事件机制
ApplicationContext事件机制是观察者设计模式的实现,通过ApplicationEvent类和ApplicationListener接口,可以实现ApplicationContext事件处理。如果容器中有一个ApplicationListener Bean,每当ApplicationContext发布ApplicationEvent时,ApplicationListener Bean转载 2016-04-30 23:59:27 · 1023 阅读 · 1 评论 -
Spring高级应用之注入嵌套Bean
在Spring中,如果某个Bean所依赖的Bean不想被Spring容器直接访问,可以使用嵌套Bean。和普通的Bean一样,使用元素来定义嵌套的Bean,嵌套Bean只对它的外部的Bean有效,Spring容器无法直接访问嵌套的Bean,因此定义嵌套Bean也无需指定id属性。如下配置片段是一个嵌套Bean的示例:?1234转载 2016-04-30 23:31:15 · 4323 阅读 · 1 评论 -
Spring高级应用之注入各类集合
先定义一个测试类,由于本文将要介绍注入各种集合时如何配置,故这个类包含各种集合,类名和属性名不好取,没有特殊含义:?123456789public class Test { private List listTest; private Map ma转载 2016-04-30 23:28:13 · 649 阅读 · 0 评论 -
Spring事务——Spring 2.X的事务配置策略
Spring 2.X的事务配置策略 虽然前面介绍的TransactionProxyFactoryBean配置策略简单易懂,但配置起来极为麻烦:每个目标Bean都需要配置一个TransactionProxyFactoryBean代理,这种方式将导致配置文件急剧增加。 Spring 2.X的XMLSchema方式提供了更简洁的事务配置策略,Spring 2.X提供了tx命名转载 2016-04-30 23:20:06 · 1163 阅读 · 0 评论