单亲老爸,遭遇中年危机,失业了,如果有 武汉 重庆 成都 的工作介绍,不胜感激。 企鹅号:43131588
分类: Java预览模式: 普通 | 列表
在前面用 srpng security  hibernate, mysql 做了一个简单的例子,仅仅用户和和角色,用户与角色的关系用数据库来保存,而对资源管理仍然用XML 配置方式来实现,对于某些特殊要求的项目来说,仍然没办法满足要求,于是就有了5张表的 Spring security  的扩展实现。在网上参考过别人很多文章以及博客,但总是没怎么成功过,关键是人家也不提供整个代码下载,所以很多细节不知道。好不容易试验出来,特地放出代码在本文最后下载。

查看更多...

Tags: spring security

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1842
利用业余时间初步研究了几天 spring security, 现在是时候做一个阶段性总结了,利用 spring mvc , spring security, hibernate, mysql 实现一个基于数据库的简单权限系统, 功能不复杂,但麻雀虽小,五脏俱全。目标如下:
1. 用户和角色存储在数据库中
2. 不同的角色访问不同的页面. 如果不没有权限,则出 403 错误页面 (可以参考前面的文章定制一个.), ROLE_USER  角色的用户,只能访问user 页面,而 ROLE_ADMIN 角色的用户可以访问 admin1,admin2 user页面.

提供整个程序的代码下载。在本文的最后,应该本文只挑重点的讲,其他的可以看代码.

查看更多...

Tags: spring security hibernate mysql

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3768
spring security 做的登录程序,不同角色的用户登录之后,可能会跳转到不同的页面,在默认情况下的配置,都是跳转到同一个页面,因为在 form-login 中设置的 default-target-url 就是登录后应该跳转到的页面。如何使得不同角色的用户登录后跳转到不同的页面呢? 至少有两种方法:
1. 方法一, 就在 form-login 的 default-target-url 上做处理,比如如果用 spring mvc 的controller 来做的话,就比较容易。
2. 方法二, 实现 spring 提供的 AuthenticationSuccessHandler 接口.

查看更多...

Tags: spring security

分类:Java | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 5076

在 spring security 中使用自定义的错误消息

在使用 spring security 的过程中, 当认证失败的时候,会提示这样的错误: "Bad credentials", 但实际上我们需要显示这样的消息:"错误的用户名或密码", 有什么办法解决呢, 我知道的至少有两种方法.
第一种方法, 直接替换 spring security 自身的message properties.
第二种方法, 自定义properties 方式 覆盖 spring security 的 key 和消息

查看更多...

Tags: spring security

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1827

spring security 得到用户名的几种方法

如果用 spring security 做权限检查框架,怎么得到当前登录用户的用户名呢,这是一个必然遇到的问题,一般来说,有三种方法.
方法一, SecurityContextHolder + Authentication.getName()
方法二, SecurityContextHolder + User.getUsername()
方法三,  UsernamePasswordAuthenticationToken

查看更多...

Tags: spring security

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1646

spring secruity 教程自定义 403 页面

前面一篇文章试验了ROLE_USER,ROLE_ADMIN 不同的权限,当不满足权限的时候,spring security 会出现一个 很丑陋的 403 页面,一点都不友好,所以在很多情况下,需要定制一个 403的页面来显示用户没有权限访问

查看更多...

Tags: spring security

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1492
通过前面的学习,已经知道初步用数据库来管理用户的权限,一个最简单的例子,我们用了ROLE_USER 这个角色来控制访问的页面。但在实际应用中,并不是只有这样一个角色的,在一个系统中有多个角色,比如用普通用户,有超级用户,有系统管理员,等等。

查看更多...

Tags: spring security

分类:Java | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 1685
前几天学习了,直接在XML中配置用户密码,利用spring security 登录的例子。这种方式适合做演示,真实的项目在大多数情况下都会用数据库或者LDAP来做用户管理. 所以今天继续学习利用数据库方式配置用户登录, 在前面例子的基础上做

查看更多...

Tags: spring security

分类:Java | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 1565
很久以前用过spring security , 那个时候还是 2.0 版本的, 而且当时是项目组的另外的成员负责权限设计这一块,我只是皮毛了解一些 (只知道可以通过xml配置实现权限控制,实现资源与用户角色之间的关系配置,通过一连串的filter 来实现整个认证和授权过程)。一直没有系统的学习下  spring security ,现在有机会了,不过 spring security 变成了3.0 以上的版本了, 基础的知识以及介绍,官方也有详细的文档。就一步一步按照文档试验吧,做一个简单的基于xml配置的认证.

查看更多...

Tags: spring security

分类:Java | 固定链接 | 评论: 5 | 引用: 0 | 查看次数: 2049

扩展spring schema 的方法, 代码下载

在写程序框架的过程中,经常为了简化程序,可能需要自定义schema, SPRING 对于JAVA开发者来说,是很好的工具,因此基于SPRING schema 的扩展对框架有很大用处。

比如做成自己的schema 之后,就可以在 xml 配置文件中类似如下的定义: <comtest:people id="cutesource" name="一号门" age="1024"/> 这里的comtest 就是自定义的schema.
曾经在CSDN 搜到一篇文章,按照他的方式,我确实没做出来,可能比较笨的原因。后来自己参考他的方法,按自己的思路做出来了。
现在贴出来,供大家参考。

查看更多...

分类:Java | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 2004

spring batch csv文件导入到mysql数据库

继续学习spring batch , 定义个 spring batch  job, 将数据读入到 mysql 数据库中. 用数据库记录job 任务。所用到的jar包与第一篇文章(http://www.yihaomen.com/article/java/433.htm)相同.

查看更多...

Tags: springbatch

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1022

命令行方式下运行spring batch 程序

批处理程序在很多情况下是在命令行下运行的,至于spring batch 做成的批处理程序一般都是做成jar包方式,当然,做成jar 包,最好采用 maven 插件来构建,曾经写过一篇文章,如何用maven  plugin 做有spring 相关的jar 包,参考这里: 用maven 创建基于spring的可执行的jar.

查看更多...

Tags: springbatch

分类:Java | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 1329

Spring batch Tasklet 例子(源码下载)

在spring batch里面, Tasklet 是一个接口. 通常被调用去执行单个任务, 比如在在一个step之前或之后执行某一些动作, 作为测试,做了一个在一个job完成之后删除掉一些资源文件. 这个例子 FileDeletingTasklet  其实也可以在 spring batch  官方的例子中找到。

查看更多...

Tags: springbatch

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1902

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.

查看更多...

Tags: springbatch

分类:Java | 固定链接 | 评论: 5 | 引用: 0 | 查看次数: 9586

java正则表达式匹配多行文本

在默认情况下,正则表达式中的"." 能匹配很多字符,但却不包括换行符。为了使正则表达式匹配多行,需要增加(?s)或者采用Pattern.DOTALL .下面用一个简单的例子说明.

查看更多...

Tags: java 正则表达式

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 987