- 博客(40)
- 资源 (7)
- 收藏
- 关注
原创 <context:component-scan base-package=com.xxx.xxx/ >包扫描注解
扫描指定的包中的类上的注解,常用的注解有:@Controller 声明Action组件@Service 声明Service组件 @Service("myMovieLister") @Repository 声明Dao组件@Component 泛指组件, 当不好归类时. @RequestMapping("/menu") 请求映射@Resource 用于注
2015-06-27 11:14:52 1690
转载 使用@Controller注解为什么要配置<mvc:annotation-driven />
自己看了官方文档,也到网上查了下,目前理解如下:相当于注册了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean,配置一些messageconverter。即解决了@Controller注解的使用前提配置。是对包进行扫描,实现注释驱动Bean定义,同时将bean自动注入容器中使用。即解决了@Cont
2015-06-27 11:13:30 534
转载 <mvc:annotation-driven />注解意义
是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。并提供了:数据绑定支持,@NumberFormatannotation支持,@Date
2015-06-27 10:59:21 594
转载 <context annotation-config />标签意义:
标签意义:该标签隐式的向Spring容器注册了:AutowiredAnnotationBeanPostProcessor CommondAnnotationBeanPostProcessorPersistenceAnnotationBeanPostProcessor RequiredAnnotationBeanPostProcessor这四个BeanPostProcessor.
2015-06-27 10:56:41 453
转载 69道Spring面试题和答案
目录Spring 概述依赖注入Spring beansSpring注解Spring数据访问Spring面向切面编程(AOP)Spring MVCSpring 概述1. 什么是spring?Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并
2015-06-22 11:54:21 1256
转载 Spring的AOP事务管理默认针对unchecked异常回滚
今天发现生产环境的数据有问题,和yuan大师检查了一下,发现有段代码往外抛Exception的时候事务没有回滚。框架里面用了Spring的AOP处理事务,事务针对Biz级别来做,而异常统一都用自定义的RuntimeException。那段Biz中的代码没用RuntimeException,而是try catch 再向外抛了Exceition,结果就没有回滚。改为向外抛RuntimeExc
2015-06-22 11:32:22 2252
转载 第二十一章 授予身份及切换身份——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 在一些场景中,比如某个领导因为一些原因不能进行登录网站进行一些操作,他想把他网站上的工作委托给他的秘书,但是他不想把帐号/密码告诉他秘书,只是想把工作委托给他;此时和我们可以使用Shiro的RunAs功能,即允许一个用户假装为另一个用户(如果他们允许)的身份进行访问。 本章代码基于《第十六章 综合实例》,请先了解相关数据模型及基本流程后再学习本章。
2015-06-22 11:21:40 854
转载 第二十三章 多项目集中权限管理及分布式会话——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 在做一些企业内部项目时或一些互联网后台时;可能会涉及到集中权限管理,统一进行多项目的权限管理;另外也需要统一的会话管理,即实现单点身份认证和授权控制。 学习本章之前,请务必先学习《第十章 会话管理》和《第十六章 综合实例》,本章代码都是基于这两章的代码基础上完成的。 本章示例是同域名的场景下完成的,如果跨域请参考《第十五章 单点登录》和《第
2015-06-22 11:20:40 1333
转载 第二十四章 在线会话管理——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 有时候需要显示当前在线人数、当前在线用户,有时候可能需要强制某个用户下线等;此时就需要获取相应的在线用户并进行一些操作。 本章基于《第十六章 综合实例》代码构建。 会话控制器Java代码 @RequiresPermissions("session:*") @Controller @RequestMapping
2015-06-22 11:19:37 845
转载 第二十二章 集成验证码——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 在做用户登录功能时,很多时候都需要验证码支持,验证码的目的是为了防止机器人模拟真实用户登录而恶意访问,如暴力破解用户密码/恶意评论等。目前也有一些验证码比较简单,通过一些OCR工具就可以解析出来;另外还有一些验证码比较复杂(一般通过如扭曲、加线条/噪点等干扰)防止OCR工具识别;但是在中国就是人多,机器干不了的可以交给人来完成,所以在中国就有很多打码平台,
2015-06-22 11:19:05 739
原创 实现字符串的反转及替换
package test;public class test{ /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String a="abc";
2015-06-22 09:21:07 1885
转载 Web很脆弱,SQL注入要了解
SQL注入所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。通过一下的例子更形象的了解SQL注入:有一个Login画面,在这个Login画面上有两个文本框分别用来输入用户名和密码,当用户点了登录按钮的时候,会对输入的用户名和密码进行验证。验证的SQL语句如下: select * from s
2015-06-16 17:17:01 549
转载 Hibernate事务与并发问题处理(乐观锁与悲观锁)
目录一、数据库事务的定义二、数据库事务并发可能带来的问题三、数据库事务隔离级别四、使用Hibernate设置数据库隔离级别五、使用悲观锁解决事务并发问题六、使用乐观锁解决事务并发问题 Hibernate事务与并发问题处理(乐观锁与悲观锁)一、数据库事务的定义 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列
2015-06-16 16:29:05 588
转载 Hibernate 锁机制
hibernate悲观锁乐观锁 业务实现过程中,难免需要保证数据访问的排他性。如金融系统的日终结算中,我们会针对某个截止点的数据进行处理,在此同时,不希望在结算的这段时间里(几秒钟或者几个钟头),数据再有变动,不然我们的统计也无效了。这种时候,我们为了保证某些数据在某个操作中不被外界修改,就引入了我们hibernate的锁机制,一旦我们给目标上锁,其他程序则不能去修改。hibernate中
2015-06-16 16:04:30 479
转载 Hibernate事务和并发控制
1. 事务介绍:1.1. 事务的定义:事务就是指作为单个逻辑工作单元执行的一组数据操作,这些操作要么必须全部成功,要么必须全部失败,以保证数据的一致性和完整性。1.2. 事务具有ACID属性:o 原子性(Atomic):事务由一个或多个行为绑在一起组成,好像是一个单独的工作单元。原子性确保在事务中的所有操作要么都发生,要么都不发生。o 一致性(Co
2015-06-16 11:03:07 432
转载 Hibernate 锁机制
业务逻辑的实现过程中,往往需要保证数据访问的排他性。因此,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的“锁”,即给我们选定的目标数据上锁,使其无法被其它程序修改。Hibernate 支持两种锁机制:1. 悲观锁(Pessimistic Locking);2. 乐观锁(Optimistic Locking);★ 悲观锁它指的
2015-06-16 08:31:02 515
转载 sql面试题(学生表_课程表_成绩表_教师表)
原帖链接:http://bbs.csdn.net/topics/280002741表架构Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表建表语句 CREATE TABLE student ( s#
2015-06-11 14:39:03 891
转载 java自带线程池和队列详细讲解
Java线程池使用说明一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池线程池的作用:线程池作用就是
2015-06-11 09:33:58 1186
转载 net.sf.json.JSONObject 和org.json.JSONObject 的差别
net.sf.json.JSONObject 和org.json.JSONObject 的差别。一、创建json对象String str = "{\"code\":\"0000\", \"msg\":{\"availableBalance\":31503079.02}}org.json.JSONObject:JSONObject json = new JSONObject(s
2015-06-10 11:17:43 4679
转载 封装jQuery Validate扩展验证方法
一、封装自定义验证方法-validate-methods.js/***************************************************************** jQuery Validate扩展验证方法 (linjq) *******************************************************
2015-06-08 16:11:06 792
转载 第二十章 无状态Web应用集成——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 在一些环境中,可能需要把Web应用做成无状态的,即服务器端无状态,就是说服务器端不会存储像会话这种东西,而是每次请求时带上相应的用户名进行登录。如一些REST风格的API,如果不使用OAuth2协议,就可以使用如REST+HMAC认证进行访问。HMAC(Hash-based Message Authentication Code):基于散列的消息认证码,使
2015-06-01 11:49:45 1379
转载 第十七章 OAuth2集成——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 目前很多开放平台如新浪微博开放平台都在使用提供开放API接口供开发者使用,随之带来了第三方应用要到开放平台进行授权的问题,OAuth就是干这个的,OAuth2是OAuth协议的下一个版本,相比OAuth1,OAuth2整个授权流程更简单安全了,但不兼容OAuth1,具体可以到OAuth2官网http://oauth.net/2/查看,OAuth2协议
2015-06-01 11:47:29 837
转载 第十九章 动态URL权限控制——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 用过Spring Security的朋友应该比较熟悉对URL进行全局的权限控制,即访问URL时进行权限匹配;如果没有权限直接跳到相应的错误页面。Shiro也支持类似的机制,不过需要稍微改造下来满足实际需求。不过在Shiro中,更多的是通过AOP进行分散的权限控制,即方法级别的;而通过URL进行权限控制是一种集中的权限控制。本章将介绍如何在Shiro中完成动
2015-06-01 11:47:28 1089
转载 第十八章 并发登录人数控制——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 在某些项目中可能会遇到如每个账户同时只能有一个人登录或几个人同时登录,如果同时有多人登录:要么不让后者登录;要么踢出前者登录(强制退出)。比如spring security就直接提供了相应的功能;Shiro的话没有提供默认实现,不过可以很容易的在Shiro中加入这个功能。 示例代码基于《第十六章 综合实例》完成,通过Shiro Filter机制扩展
2015-06-01 11:46:47 1090
转载 第十六章 综合实例——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 简单的实体关系图 简单数据字典用户(sys_user)名称类型长度描述idbigint 编号 主键usernamevarchar100用户名passwor
2015-06-01 11:46:43 584
转载 第十四章 SSL——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 对于SSL的支持,Shiro只是判断当前url是否需要SSL登录,如果需要自动重定向到https进行访问。 首先生成数字证书,生成证书到D:\localhost.keystore使用JDK的keytool命令,生成证书(包含证书/公钥/私钥)到D:\localhost.keystore:keytool -genkey -keystore "
2015-06-01 11:45:15 471
转载 第十五章 单点登录——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 Shiro 1.2开始提供了Jasig CAS单点登录的支持,单点登录主要用于多系统集成,即在多个系统中,用户只需要到一个中央服务器登录一次即可访问这些系统中的任何一个,无须多次登录。此处我们使用Jasig CAS v4.0.0-RC3版本:https://github.com/Jasig/cas/tree/v4.0.0-RC3 Jasig C
2015-06-01 11:44:27 506
转载 第十二章 与Spring集成——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 Shiro的组件都是JavaBean/POJO式的组件,所以非常容易使用Spring进行组件管理,可以非常方便的从ini配置迁移到Spring进行管理,且支持JavaSE应用及Web应用的集成。 在示例之前,需要导入shiro-spring及spring-context依赖,具体请参考pom.xml。spring-beans.xml配置文件提供
2015-06-01 11:43:37 620
转载 第十一章 缓存机制——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 Shiro提供了类似于Spring的Cache抽象,即Shiro本身不实现Cache,但是对Cache进行了又抽象,方便更换不同的底层Cache实现。对于Cache的一些概念可以参考我的《Spring Cache抽象详解》:http://jinnianshilongnian.iteye.com/blog/2001040。 Shiro提供的Cach
2015-06-01 11:43:00 473
转载 第十三章 RememberMe——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 Shiro提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下:1、首先在登录页面选中RememberMe然后登录成功;如果是浏览器登录,一般会把RememberMe的Cookie写到客户端并保存下来;2、关闭浏览器再重新打开;会发现浏览器还是记
2015-06-01 11:42:54 627
转载 第九章 JSP标签——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 Shiro提供了JSTL标签用于在JSP/GSP页面进行权限控制,如根据登录用户显示相应的页面按钮。 导入标签库Java代码 标签库定义在shiro-web.jar包下的META-INF/shiro.tld中定义。 guest标签 Java代码 欢迎游客访问,登录
2015-06-01 11:41:30 467
转载 第十章 会话管理——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器tomcat),不管JavaSE还是JavaEE环境都可以使用,提供了会话管理、会话事件监听、会话存储/持久化、容器无关的集群、失效/过期支持、对Web的透明支持、SSO单点登录的支持等特性。即直接使用Shiro的会话管理可以直接替换如Web容器的会话管理。 会话所谓会话,
2015-06-01 11:40:57 663
转载 第六章 Realm及相关对象——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 6.1 Realm【2.5 Realm】及【3.5 Authorizer】部分都已经详细介绍过Realm了,接下来再来看一下一般真实环境下的Realm如何实现。 1、定义实体及关系即用户-角色之间是多对多关系,角色-权限之间是多对多关系;且用户和权限之间通过角色建立关系;在系统中验证时通过权限验证,角色只是权限集合,即所谓的
2015-06-01 11:39:14 580
转载 第八章 拦截器机制——《跟我学Shiro》2
目录贴: 跟我学Shiro目录贴 8.1 拦截器介绍Shiro使用了与Servlet一样的Filter接口进行扩展;所以如果对Filter不熟悉可以参考《Servlet3.1规范》http://www.iteye.com/blogs/subjects/Servlet-3-1了解Filter的工作原理。首先下图是Shiro拦截器的基础类图:1、NameableFilterNa
2015-06-01 11:39:11 857
转载 第七章 与Web集成——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 Shiro提供了与Web集成的支持,其通过一个ShiroFilter入口来拦截需要安全控制的URL,然后进行相应的控制,ShiroFilter类似于如Strut2/SpringMVC这种web框架的前端控制器,其是安全控制的入口点,其负责读取配置(如ini配置文件),然后判断URL是否需要登录/权限等工作。 7.1 准备环境1、创建webapp
2015-06-01 11:38:31 897
转载 第四章 INI配置——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 之前章节我们已经接触过一些INI配置规则了,如果大家使用过如Spring之类的IoC/DI容器的话,Shiro提供的INI配置也是非常类似的,即可以理解为是一个IoC/DI容器,但是区别在于它从一个根对象securityManager开始。 4.1 根对象SecurityManager从之前的Shiro架构图可以看出,Shiro是从根对象Sec
2015-06-01 11:37:59 548
转载 第五章 编码/加密——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 在涉及到密码存储问题上,应该加密/生成密码摘要存储,而不是存储明文密码。比如之前的600w csdn账号泄露对用户可能造成很大损失,因此应加密/生成不可逆的摘要方式存储。 5.1 编码/解码 Shiro提供了base64和16进制字符串编码/解码的API支持,方便一些编码解码操作。Shiro内部的一些数据的存储/表示都使用了base64和16进
2015-06-01 11:37:11 718
转载 第二章 身份验证——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 身份验证,即在应用中谁能证明他就是他本人。一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明。在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身份:principals:身份,即主体的标识属性,可以是任何东西,如用户名、邮箱等,唯一即可。
2015-06-01 11:35:53 1896
转载 第三章 授权——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 授权,也叫访问控制,即在应用中控制谁能访问哪些资源(如访问页面/编辑数据/页面操作等)。在授权中需了解的几个关键对象:主体(Subject)、资源(Resource)、权限(Permission)、角色(Role)。主体主体,即访问应用的用户,在Shiro中使用Subject代表该用户。用户只有授权后才允许访问相应的资源。资源在应用中用户可
2015-06-01 11:35:16 829
转载 第一章 Shiro简介——《跟我学Shiro》
目录贴: 跟我学Shiro目录贴 1.1 简介Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题
2015-06-01 11:34:52 1052
AES+CTR+NoPadding
2021-01-06
Spring security 认证-ch03
2013-03-12
Spring security 认证-ch02
2013-03-12
Spring security 认证-ch01
2013-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人