-
spring security 阶段总结: mvc + hibernate +mysql 实现的例子
利用业余时间初步研究了几天 spring security, 现在是时候做一个阶段性总结了,利用 spring mvc , spring security, hibernate, mysql 实现一个基于数据库的简单权限系统, 功能不复杂,但麻雀虽小,五脏俱全。目标如下:1. 用户和角色存储在数据库中2. 不同的角色访问不同的页面. 如果不没有权限,则出 403 错误页面 (可以参考前面的文章定制一个.), ROLE_USER 角色的用户,只能访问user 页面,而 ROLE_ADMIN 角色的用户可以访问 admin1,admin2 user页面.提供整个程序的代码下载。在本文的最后,应该本文只挑重点的讲,其他的可以看代码.
Date: 2013-12-21 View: 7241
-
spring security 登录根据用户角色跳转到不同的页面
spring security 做的登录程序,不同角色的用户登录之后,可能会跳转到不同的页面,在默认情况下的配置,都是跳转到同一个页面,因为在 form-login 中设置的 default-target-url 就是登录后应该跳转到的页面。如何使得不同角色的用户登录后跳转到不同的页面呢? 至少有两种方法:1. 方法一, 就在 form-login 的 default-target-url 上做处理,比如如果用 spring mvc 的controller 来做的话,就比较容易。2. 方法二, 实现 spring 提供的 AuthenticationSuccessHandler 接口.
Date: 2013-12-18 View: 11321
-
在 spring security 中使用自定义的错误消息
在使用 spring security 的过程中, 当认证失败的时候,会提示这样的错误: "Bad credentials", 但实际上我们需要显示这样的消息:"错误的用户名或密码", 有什么办法解决呢, 我知道的至少有两种方法.第一种方法, 直接替换 spring security 自身的message properties. 第二种方法, 自定义properties 方式 覆盖 spring security 的 key 和消息
Date: 2013-12-17 View: 6743
-
spring security 得到用户名的几种方法
如果用 spring security 做权限检查框架,怎么得到当前登录用户的用户名呢,这是一个必然遇到的问题,一般来说,有三种方法.方法一, SecurityContextHolder + Authentication.getName() 方法二, SecurityContextHolder + User.getUsername()方法三, UsernamePasswordAuthenticationToken
Date: 2013-12-16 View: 6545
-
spring secruity 教程自定义 403 页面
前面一篇文章试验了ROLE_USER,ROLE_ADMIN 不同的权限,当不满足权限的时候,spring security 会出现一个 很丑陋的 403 页面,一点都不友好,所以在很多情况下,需要定制一个 403的页面来显示用户没有权限访问
Date: 2013-12-16 View: 5010
-
spring secruity 入门学习(Authorization授权访问页面控制)
通过前面的学习,已经知道初步用数据库来管理用户的权限,一个最简单的例子,我们用了ROLE_USER 这个角色来控制访问的页面。但在实际应用中,并不是只有这样一个角色的,在一个系统中有多个角色,比如用普通用户,有超级用户,有系统管理员,等等。
Date: 2013-12-15 View: 5450
-
spring secruity 入门学习(数据库方式配置用户登录)
前几天学习了,直接在XML中配置用户密码,利用spring security 登录的例子。这种方式适合做演示,真实的项目在大多数情况下都会用数据库或者LDAP来做用户管理. 所以今天继续学习利用数据库方式配置用户登录, 在前面例子的基础上做
Date: 2013-12-14 View: 4618
-
spring secruity 入门学习(XML方式配置用户登录), 源码下载
很久以前用过spring security , 那个时候还是 2.0 版本的, 而且当时是项目组的另外的成员负责权限设计这一块,我只是皮毛了解一些 (只知道可以通过xml配置实现权限控制,实现资源与用户角色之间的关系配置,通过一连串的filter 来实现整个认证和授权过程)。一直没有系统的学习下 spring security ,现在有机会了,不过 spring security 变成了3.0 以上的版本了, 基础的知识以及介绍,官方也有详细的文档。就一步一步按照文档试验吧,做一个简单的基于xml配置的认证.
Date: 2013-12-12 View: 4762
-
spring batch csv文件导入到mysql数据库
继续学习spring batch , 定义个 spring batch job, 将数据读入到 mysql 数据库中. 用数据库记录job 任务。所用到的jar包与第一篇文章(http://www.yihaomen.com/article/java/433.htm)相同.
Date: 2013-12-09 View: 3629
-
命令行方式下运行spring batch 程序
批处理程序在很多情况下是在命令行下运行的,至于spring batch 做成的批处理程序一般都是做成jar包方式,当然,做成jar 包,最好采用 maven 插件来构建,曾经写过一篇文章,如何用maven plugin 做有spring 相关的jar 包,参考这里: 用maven 创建基于spring的可执行的jar.
Date: 2013-12-07 View: 5447
-
Spring batch Tasklet 例子(源码下载)
在spring batch里面, Tasklet 是一个接口. 通常被调用去执行单个任务, 比如在在一个step之前或之后执行某一些动作, 作为测试,做了一个在一个job完成之后删除掉一些资源文件. 这个例子 FileDeletingTasklet 其实也可以在 spring batch 官方的例子中找到。
Date: 2013-12-04 View: 5710
-
Spring batch 入门学习教程(附源码)
Spring batch 是一个开源的批处理框架.执行一系列的任务. 在 spring batch 中 一个job 是由许多 step 组成的。而每一个 step 又是由 READ-PROCESS-WRITE task或者 单个 task 组成。1. "READ-PROCESS-WRITE" 处理,根据字面意思理解就可以:READ 就是从资源文件里面读取数据,比如从xml文件,csv文件,数据库中读取数据.PROCESS 就是处理读取的数据WRITE 就是将处理过的数据写入到其他资源文件中去,可以是XML,CSV,或者数据库.比如:从CSV文件中 读取数据,经过处理之后,保存到数据库. spring batch 提供了很多类去处理这方面的东西。2.单个task, 也就是处理单个任务。比如在一个step 开始之前或者完成之后清除资源文件等.3.许多个step 组成在一起,就组成了一个job.
Date: 2013-12-03 View: 14341
-
java正则表达式匹配多行文本
在默认情况下,正则表达式中的"." 能匹配很多字符,但却不包括换行符。为了使正则表达式匹配多行,需要增加(?s)或者采用Pattern.DOTALL .下面用一个简单的例子说明.
Date: 2013-11-28 View: 4831
-
用java 代码将 ubb编辑器转为ueditor 编辑器 的 html格式
一直以来,在抽空余的时间打算升级自己的博客,因为原来的开源博客早已经不更新了,而且是asp写的。编辑器是 ubb 编辑器, 而我现在打算使用百度 ueditor,这是一个标准的HTML编辑器, 因此需要将博客的内容进行批量转换,也就是将UBB格式转换成HTML 格式,但同时要注意转换的HTML代码,不能产生XSS 注入,特别是有些博客内容有 javascript 代码的情况。在网上找到一些方法:一,站长站上有现成的工具,可以粘贴进去,测试,结果,确实可以转成HTML ,但一旦到Ueditor里面全乱了,而且也只能一个一个去做,方式也不可取。类似的工具页面太多了,一搜一大把.二,在CSDN上下载了一个jar包,进行处理,结果,还是不满意。
Date: 2013-11-28 View: 3046
-
Spring MVC 类型转换(type convert)例子及下载
spring 支持类型转换, 最常用的就是从字符串转换成一个对象的属性值。在配置spring <bean>时会经常用到。spring 采用了property editor方式对特定的类型进行转换, 并将这些properties editor 注入到spring 容器中去。在spring mvc 中,controller 层中绑定的 对象包含了其他多个对象,这个时候spring mvc 并不能根据你输入的字符串转换成你包含的其他对象,这个时候,就需要转换了,一个最简单的例子,日期字符串到 日期类型的转换。当然这些最基本的类型转换,spring 已经实现了,但也可以自己实现了,我自己做了一个小例子来测试:
Date: 2013-11-26 View: 5672