传智播客java学习 教育办公系统4
今天继续教育办公系统的旅程,今天主要讲的是权限模块:
1. 集成 spring-security 框架
1). 加入 spring-security 的两个 jar 包
2). 在 web.xml 文件中加入加入 spring-security 框架的过滤器
3). 新建 applicationContext-security.xml 配置文件,并且把 security 作为默认的命名空间,
并将其导入到 applicationContext.xml 中
4). 设计领域模型:
Authority -- 权限
Resource -- 资源
Role -- 角色
Employee -- 添加 Set<Role> roleSet
属性
Resource 和 Authority 为多对多的对应关系
Authority 和 Role 为多对多的对应关系
Role 和 Employee 为多对多的对应关系
所以还需要 3 个额外的关联表
** 数据表设计参见 spring-security-2
5).
①. 修改当前系统的 login.jsp 页面, 改为 spring-security 的登录页面, 并且在
<http> 节点中进行配置.
** 注意:
spring-security 在登录成功后, 利用 "重定向" 转到 form-login 节点对应的
default-target-url 属性对应的页面. 所以不能直接将其配置为
相关文档:
一、什么是反射:
反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中LEAD/LEAD++ 、OpenC+ ......
这里所说到的Java中的排序并不是指插入排序、希尔排序、归并排序等具体的排序算法。而是指执行这些排序算法时,比较两个对象“大小”的比较操作。我们很容易理解整型的 i>j 这样的比较方式,但当我们对多个对象进行排序时,如何比较两个对象的“大小”呢?这样的比较 stu1 > stu2 显然是不可 ......
1. 循环list中的所有元素然后删除重复
public static List removeDuplicate(List list) {
for ( int i = 0 ; i < list.size() - 1 ; i ++ ) {
for ( int j = list.size() - 1 ; j > i; j -- ) {
if (list.get(j).equals(list.get(i))) {
......
我今天学习了毛老师讲的
svn cvs
知识,我做了简单的笔记:
版本控制
: 版本控制(Revision
control)是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。此外,版本控制也是一种软体工程技巧,借此能在软体开发的过程中,确保由不同人所编辑的同一文件档案都能得以同步。
Subver ......