没有合适的资源?快使用搜索试试~ 我知道了~
Spring-Security安全权限管理手册
需积分: 0 1 下载量 126 浏览量
2010-08-12
10:02:14
上传
评论
收藏 1.76MB DOC 举报
温馨提示
试读
64页
Spring-Security安全权限管理手册,架构设计
资源详情
资源评论
资源推荐
序言
为啥选择
欢迎阅读咱们写的 教程,咱们既不想写一个简单的入门教程,也不想翻
译已有的国外教程。咱们这个教程就是建立在咱们自己做的 的基础上,一点一滴总结
出来的经验和教训。
首先必须一提的是, 出身名门,它是 的一个子项
目 。它之前有个很响
亮的名字 。这个原本坐落在 上的项目,后来终于因为跟 的紧密连接,
在 时成为了 的一个子项目。
即使是在开源泛滥的 领域,统一权限管理框架依然是稀缺的,这也是为什么
!一出现就受到热捧的原因,据俺们所知,直到现在也只看到 社
区的 " 在做同样的事情。(据小道消息," 还很稚嫩。)
!支持一大堆的权限功能,然后它又和 这个当今超流行的
框架整合的很紧密,所以我们选择它。实际上自从 时代它就很有名了。
部分 I.基础篇
在一开始,我们主要谈谈怎么配置 ,怎么使用 。
为了避免在每个例子中重复包含所有的第三方依赖,要知道 " 就有 # 多,所以
我们使用了 # 管理项目。如果你的机器上还没安装 #,那么可以参考我们网
站提供的 # 教程 $$$%&'。
我们用使用的第三方依赖库关系如下所示:
()*+,(,
)*+,%&'-.%$%
)*+,/$.
-"012322
)*+,4$.
"012322
)*+,54$."'
)*+,54$."'
)*+,55/"%
)*+,54$."'
)*+,54$."'
)*+,54"%%%
)*+,54"%6
)*+,5/"6
)*+,4$.
"012322
)*+,5/$."-"'
)*+,5/$."'
)*+,/$.$-"'
)*+,/$.-"'
第 1章 一个简单的 HelloWorld
中可以使用 % 时代的普通配置方式,也可以使用从 时代才
出现的命名空间配置方式,实际上这两者实现的功能是完全一致的,只是新的命名空间配
置方式可以把原来需要几百行的配置压缩成短短的几十行。我们的教程中都会使用命名空
间的方式进行配置,凡事务求最简。
%%7配置过滤器
为了在项目中使用 控制权限,首先要在 $- 中配置过滤器,这样
我们就可以控制对这个项目的每个请求了。
89:
89:+;89:
89:$.$-9<+=89
:
89:
89:
89:+;89:
8:>8:
89:
所有的用户在访问项目之前,都要先通过 的检测,这从第一时间把没有
授权的请求排除在系统之外,保证系统资源的安全。关于过滤器配置的更多讲解可以参考
$$$%&'""?@"?6%。
%7使用命名空间
在 ; 中使用 提供的命名空间进行配置。
8ABC%CBCDE+'CA:
8--BC$$$$.C
-BC$$$$.-C
BC$$$$6%F#3C
3BC$$$$.-
$$$$.--
$$$$.
$$$$.
GC:
89BHH:
8BC"CBC132I<#)*C:
8BC>>CBC132ID21C:
8:
8:
8:
8BCC$BCCBC132ID21J
132I<#)*C:
8BCC$BCCBC132ID21C:
8:
8:
8--:
声明在 中使用 提供的命名空间。
部分配置如何拦截用户请求。9BHH将自动配置几种常用的权限控
制机制,包括 JJ-#。
我们利用 来判断用户需要具有何种权限才能访问对应的 资源,可以
在 中指定一个特定的 资源,也可以使用通配符指定一组类似的 资源。
例子中定义的两个 ,第一个用来控制对" 的访问,第二个
使用了通配符>>,说明它将控制对系统中所有 资源的访问。
在实际使用中, 采用的是一种就近原则,就是说当用户访问的
资源满足多个 时,系统将使用第一个符合条件的 进行
权限控制。在我们这个例子中就是,当用户访问" 时,虽然两个
都满足要求,但因为第一个 排在上面,所以 会使
用第一个 中的配置处理对" 的请求,也就是说,只有那些拥
有了 132I<#)* 权限的用户才能访问"。
指定的权限部分比较有趣,大家可以注意到这些权限标示符都是以 132I开
头的,实际上这与 中的 K 机制有着千丝万缕的联系,只有包含
了特定前缀的字符串才会被 处理。目前来说我们只需要记住这一点
就可以了,在教程以后的部分中我们会详细讲解 K 的内容。
中定义了两个用户, 和 。为了简便起见,我们使用明文定
义了两个用户对应的密码,这只是为了当前演示的方便,之后的例子中我们会使用
提供的加密方式,避免用户密码被他人窃取。
最最重要的部分是 ,这里定义了这个用户登陆之后将会拥有的权限,它
与上面 中定义的权限内容一一对应。每个用户可以同时拥有多个权
限,例子中的 用户就拥有 132I<#)* 和 132ID21 两种权限,这使得
用户在登陆之后可以访问 132I<#)* 和 132ID21 允许访问的所有资
源。
与之对应的是, 用户就只拥有 132ID21 权限,所以他只能访问
132ID21 允许访问的资源,而不能访问 132I<#)* 允许访问的资源。
%67完善整个项目
因为 是建立在 的基础之上的,所以 $- 中除了需要配置我
们刚刚提到的过滤器,还要加上加载 的相关配置。最终得到的 $- 看起来像
是这样:
8ABC%CBCDE+'CA:
8$-BCGC
BC""C
BC$$$$6%F#3C
3BC""
""$-IIGC:
8:
8:;938:
8:;>8:
8:
89:
89:+;89:
89:$.$-9<+=8
9:
89:
89:
89:+;89:
8:>8:
89:
8:
8
:$.$-;338
:
8:
8$-:
剩余63页未读,继续阅读
nufrontsoft
- 粉丝: 1
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0