- 浏览: 305927 次
最新评论
-
流年末年:
那四个参数还是没看懂.....能不能解释下showPassst ...
我写的密码强度验证方法(原创) -
kingcs2008:
// 验证pws.jsshowPassstrength(&qu ...
我写的密码强度验证方法(原创) -
h957355152:
请问博主这个怎么用呢?我直接放到jsp里面调用showPass ...
我写的密码强度验证方法(原创) -
qq_15138059:
我写的全国省市县三级联动菜单,拿出来和大家分享了(原创) -
valenon:
评论呢?从MAIL FROM命令开始貌似就出错了:500 Er ...
如何发送伪造的电子邮件
文章列表
保护业务层
到目前为止,在本书中我们的关注点都主要在
JBCP Pets
应用
web
层面的安全。但是,在实际的安全系统规划中,对服务方法应该给予同等的重视,因为它们能够访问系统中最重要的部分——数据。
Spring
Security
支持添加授权层(或者基于授权的数据处理)到应用中所有
Spring
管理的
bean
中。尽管很多的开发人员关注层的安全,其实业务层的俄安全同等主要,因为恶意的用户可能会穿透
web
层,能够通过没有
UI
的前端访问暴露的服务,如使用
web service
。
...
方法安全的高级知识
方法安全的表现力不仅局限于简单的角色检查。实际上,一些方法安全的注解能够完全使用
Spring
表达式语言(
SpEL
)的强大功能,正如我们在第二章中讨论
URL
授权规则所使用的那样。这意味着 ...
第六章
高级配置和扩展
到目前为止,我们已经介绍了大多数
Spring Security
组件的理论以及架构和使用。我们的
JBCP Pets
商业站点也在逐渐变成一个安全的
web
应用,我们将会深入讲解一些更有难度的挑战。
在本章的课程中,我们将会:
l
实现我们自己的安全过滤器,解决一个很有趣的问题,即对特定的用户角色用
IP
过滤的方式增强站点的安全;
l
构建自定义的
AuthenticationProvider
及需要的支持类;
l
理解和实现反黑客的措施名为
sessio ...
实现自定义的
AuthenticationProvider
在很多场景下,你的应用需要跳出
Spring
Security
功能的边界,可能会需要实现自己的
AuthenticationProvider
。回忆在第二章中
AuthenticationProvider
的角色,在整个认证过程中,它接受安全实体请求提供的凭证(即
Authentication
对象或
authentication token
)并校验其正确性和合法性。
通过AuthenticationProvider
实现一个简单的单点登录
通常,应用允许以用户或客户端方式登录 ...
Session
的管理和并发
Spring Security
的一个常见配置就是检测相同的用户以不同的
session
登录安全系统。这被称为并发控制(
concurrency control
)
,是
session
管理(
session management
)
一系列相关配置功能的一部 ...
理解和配置异常处理
Spring
Security
使用简单的分发器模式将框架抛出的异常转移到明确的处理行为中,这将会影响用户对安全资源的访问。
Spring Security
过滤器链中最后几个过滤器之一的
o.s.s.web.access.ExceptionT ...
手动配置Spring Security
设施的bean
如果你工作要求的环境很复杂而
Spring Security
的基本功能——尽管非常强大——不能满足所有的要求,你可能最终需要自己从头构建
Spring Security
的过滤器链以及支持实施。这是在
Spring Security
参考手册中没有完全提及的部分,但是却难住了很多人。有些人将这种类型的配置成为
Spring Security
的“另一个宇宙(
alternate universe
)”。
自己构建并织入所有需要的
bean
...
Spring Security
基于bean
的高级配置
正如我们在前面几页中看到的那样,基于
bean
的
Spring Security
配置尽管比较复杂,但是提供了一定层次的灵活性,如果复杂应用需要超过
security XML
命名空间风格配置所允许的功能时会用到。
我们将利用这个章节来阐明可用的一些配置选项以及怎么使用。尽管我们不能提供每个可能属性的细节,但是我们鼓励基于在本章和以前章节学到的内容你开始探索并查询
Javadoc
和
Spring Security
的源码。你仅仅会受限于对这个框架是如何组织起来 ...
认证事件处理
有一个重要的功能只能通过基于
bean
的配置就是自定义处理认证事件。认证事件使用了
Spring
的时间发布机制,它基于
o.s.context.ApplicationEvent
事件模型。
Spring
事件模型使用并不广泛,却能够 ...
不过一般我们在管理系统时都会分前台与后台,也就是说,前台与后台的登录入口与注销地址都是不一样的,那么该如何使用SpringSecurity实现呢,参考了一些网络上的例子,将之前的小应用做了如下修改:
applicationContext-security.xml
Xml代码
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
beans:beans
xmlns
=
"http://ww ...
笔者在SpringSecurity中配置remember-me时,遇到这样的问题,remember-me没有起作用,按照官方文档的讲解,只
需要在<http>中增加<remember-me />配置,并在login.jsp中增加如下代码即可:
Java代码
<input id=
"_spring_security_remember_me"
name=
"_spring_security_remember_me"
type=
"checkbox"
value= ...
一般来说,登录时都会要求用户输入验证码,以防止恶意登录。
可是,SpringSecurity并没有为我们提供这样的功能,所以就需要我们自己来解决了。
那么该如何解决呢,其实也挺简单的,
核对验证码信息,当然是在登录时处理的,所以,使用filter是最佳选择。
既然确定了方向,那么久该考虑如何增加这个filter了,其实可以有两种方案:
1.继承UsernamePasswordAuthenticationFilter ,在里面增加验证码验证规则即可;
2.自己定义一个filter,专门处理验证码验证;
笔者这里推荐使用第二种方案,因为第一种我们需要显示声明login-fi ...
作者对springsecurity研究不深,算是个初学者吧,最近很不完整的看了一下翻译的很是生硬的《Spring3Security-3.0.1中文官方文档.pdf》,为了便于学习和记忆,所以将所学知识在此记录下来。
这里给出一个简单的安全验证的实现例子,先说一下需求:
1.通过登录页面进行登录
2.用户登录前访问被保护的地址时自动跳转到登录页面
3.用户信息存储在数据表中
4.用户权限信息存在在数据表中
5.用户登录成功后访问没有权限访问的地址时跳转到登录页面
ok,以上就是一个基本的需求了,大部分的系统都是基于该需求实现登录模块的。
给出实现之前,先简单说明一下sp ...
最近项目中要使用到spring-security,可能研究的不够透彻 这些知识点 都是从网上copy的 或许能对需要的朋友一些帮助。如若喜欢欢迎转载!
1、在spring-security官网下载最新jar然后拷贝jar到项目的lib下。
2、在classpath下添加security配置文件,例如applicationContext-security.xml.网上现在大多都是2.0的schema. 要根据自己使用的版本而定.下面是3.0的schema.
Xml代码
<?
xml
version
=
"1.0"
...
2、xml配置,配置内容如下:
Xml代码
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
beans:beans
xmlns
=
"http://www.springframework.org/schema/security"
xmlns:beans
=
"http://www.springframework.org/sche ...