跪求spring 教程Security的视频教程?谁有发给我,谢谢

人气:1861917
访问用户量:2906
笔记经验:3830
总积分:261644
级别:VIP5
搜索本笔记
ta的交流分类
ta的全部笔记
Spring Security 3笔记
交流分类:
附录:参考材料 在本附录中,将会涉及到一些我们感觉有用的参考材料(并相当缺乏文档),而将其插入到章节的内容中又会觉得过于综合。 JBCP Pets示例代码起步 就像我们在第一章:一个不安全应用的剖析中所描述的那样,我们假设你已有了Eclipse 3.4(或3.5)IDE,并包含Web Tools P……
浏览(9330)| (4)|笔记分类
交流分类:
第十三章 迁移到Spring Security 3 在最后一章中,我们将会了解从Spring Security2迁移到Spring Security3时常见问题的相关情况。 在本章中,我们将会:
了解Spring Security 3的重要增强;
理解已有的Spring Security……
浏览(4629)| (0)|笔记分类
交流分类:
第十二章 Spring Security扩展 在本章中,我们将会探索一个Spring Security扩展项目的功能——这是很令人兴奋的功能即将Windows Active Directory认证(或其它支持Kerberos的设施)与Spring Security集成以为你的Intranet用户提供……
浏览(4871)| (0)|笔记分类
交流分类:
在Spring Security中配置客户端证书认证 不同于我们到目前为止所使用的认证机制,使用客户端证书认证会使得用户的请求已经被服务器预先认证(pre-authenticated)了。因为服务器(Tomcat)已经确定用户提供了合法且可信的证书,所以Spring Security只需信任这个as……
浏览(4356)| (0)|笔记分类
交流分类:
第十一章 客户端证书认证(Client Certificate Authentication)
尽管用户名和密码认证特别常见,就像我们在第一章:一个不安全应用的剖析和第二章:Spring Security起步所讨论的那样,form认证的存在允许用户提供各种类型的凭证。Spring Securit……
浏览(4037)| (0)|笔记分类
交流分类:
高级CAS配置 CAS认证框架提供了高级的配置和与CAS服务的数据交换。在本节中,我们将会介绍CAS集成的高级配置。在我们觉得重要的地方将会包含相关的CAS配置指令,但是要记住的是CAS配置是很复杂的并超出了本书的范围。
assertion中获取属性 在CAS服务器传递ticket校……
浏览(6922)| (0)|笔记分类
交流分类:
使用中心认证服务(CAS)进行单点登录
在本章中,我们将会介绍使用中心认证服务(Central Authentication Service,CAS)为基于Spring Security的应用提供单点登录门户(single sign-on portal)。 在本章的内容中,我们将会……
浏览(6588)| (0)|笔记分类
交流分类:
明确的LDAP bean配置 在本节中,我们带领你学会明确配置以下两项功能所需要的bean集合,即连接外部的LDAP服务器和支持授权的LdapAuthenticationProvider。正如其它基于bean的配置,你可能不希望这样做,除非你发现security命名空间风格的配置不能支持你的业务或技……
浏览(2805)| (0)|笔记分类
交流分类:
LDAP的高级配置 一旦我们要了解LDAP基础集成之外的知识,就会发现security XML命名空间方式的配置中,Spring Security LDAP模块还有许多的可用配置。它包括查询用户的个人信息、用户认证的其它方式以及使用LDAP作为UserDetailsService且与DaoAut……
浏览(3716)| (0)|笔记分类
交流分类:
LDAP目录服务
在本章中,我们将会了解轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)以及它怎样集成到使用Spring Security的应用中以提供认证、授权和用户信息服务。 在本章的内容中,我们将会:
学习一些LDA……
浏览(4688)| (0)|笔记分类
交流分类:
属性 交换(Attribute Exchange) OpenID另外一个有趣的功能就是如果使用OpenID的站点需要,OpenID provider提供(基于用户的许可)典型的用户注册数据,如名字、e-mail、生日。这个功能叫做属性 交换(Attribute Exchange,AX)。下图展现……
浏览(3286)| (0)|笔记分类
交流分类:
OpenID用户的注册问题 请使用我们前面的技术来测试Yahoo! OpenID——例如,/pmularien。你会发现它并不好用,像其它OpenID提供者那样。这带出了OpenID结构的一个很重要的问题,并体现出了启用OpenID用户注册的重要性。
浏览(4058)| (1)|笔记分类
交流分类:
第八章 对OpenID开放
OpenID是很流行的可信任身份管理方式,它允许用户通过一个单独的可信任提供者(provider)管理其身份信息。这个便利的功能为用户提供了安全的方式即使用可信任的OpenID提供者来存储器密码和个人信息,并可以随意的基于请求获取其个人信息。另外,启用OpenID功能……
浏览(4743)| (1)|笔记分类
交流分类:
典型ACL部署所要考虑的事情 实际部署Spring ACL到业务应用是很复杂的。我们总结了Spring ACL要注意的事情,它们在大多数Spring ACL实现场景中都存在。
关于ACL的伸缩性和性能模型
对于小型和中型应用,添加ACL功能是很容易的,尽管它增加数据库存储和影响运行时性能,这……
浏览(4115)| (0)|笔记分类
交流分类:
支持ACL的Spring表达式语言
SpEL对ACL系统的支持仅限于方法安全,通过使用hasPermission SpEL方法。典型情况下,这种类型的访问检查会与引用一个或多个传入参数(进行@PreAuthorize检查)或集合过滤(进行@PostAuthorize检查)联合使用。
遗憾的是……
浏览(4036)| (0)|笔记分类
交流分类:
高级ACL话题 一些高级的话题在我们配置ACL环境时略过了,包括处理ACE许可授权,在运行时根据GrantedAuthority确定某种类型的ACL变化是否允许。既然现在我们已经有了一个运行环境,那我们要开始了解这些更高级的话题。
Permission如何工作 许可授权(permission……
浏览(4068)| (0)|笔记分类
交流分类:
访问控制列表(ACL) 在本章中,我们将会介绍访问控制列表这个复杂话题,它能够提供域对象实例层次授权的丰富模型。Spring Security提供了强大的访问控制列表,但是复杂且缺少文档,它能够很好的满足小到中型规模的实现。 在本章的内容中,我们将会:
理解访问控制列表的概念模型;……
浏览(6364)| (0)|笔记分类
交流分类:
认证事件处理 有一个重要的功能只能通过基于bean的配置就是自定义处理认证事件。认证事件使用了Spring的时间发布机制,它基于o.s.context.ApplicationEvent事件模型。Spring事件模型使用并不广泛,却能够很有用处——特别在认证系统中——如当你想绑定特定行为到认证领域的行……
浏览(4543)| (0)|笔记分类
交流分类:
Spring Security基于bean的高级配置
正如我们在前面几页中看到的那样,基于bean的Spring Security配置尽管比较复杂,但是提供了一定层次的灵活性,如果复杂应用需要超过security XML命名空间风格配置所允许的功能时会用到。
我们将利用这个章节来阐明可用的一……
浏览(4345)| (0)|笔记分类
交流分类:
手动配置Spring Security设施的bean 如果你工作要求的环境很复杂而Spring Security的基本功能——尽管非常强大——不能满足所有的要求,你可能最终需要自己从头构建Spring Security的过滤器链以及支持实施。这是在Spring Security参考手册中没有完全提及……
浏览(3840)| (0)|笔记分类
版权所有 Copyright(C) 私塾在线学习网spring security3 session过期,拦截异步请求返回登陆页面 - Java EE - 网站开发技术
帮助别人就是帮助自己!
如果这里解决了您的问题,请您点一下推荐
spring security3 session过期,拦截异步请求返回登陆页面
项目安全用的是spring security3.1.2框架,同步跳转时,Session过期,拦截回登陆页面没问题,但遇到AJax或是jQuery,easyui等,异步请求时,springsecurity3拦截了请求,但确无法跳转到登陆页面,有法办解决吗?详细一下.我在线等
统一封装AJAX请求吧,监听响应头,如果sessionStatus是timeout 那就 用JS跳到登录就好了 window.location
能详细点吗?
做一个空白的页面例如timeout.htm,里面写上&script&location.replace('login.htm')&/script&,然后让spring 把请求重定向到个这timeout.htm。
纯粹理论,没有测试,楼主试试过后告诉我结果。
function checkSessionTimeout(response){
if(response.getResponseHeader){
var sessionStatus = response.getResponseHeader("sessionstatus");
if (sessionStatus == 'timeout') {
var redirect = response.getResponseHeader("Location");
window.location =
自定义一个拦截器,在timeout的时候丢出
response.setHeader("Location",request.getContextPath()+timeoutUrl);
response.sendError(HttpServletResponse.SC_FORBIDDEN, "登录超时或无效!");
response.setHeader("sessionstatus", "timeout");
可以根据请求头来判断请求是不是ajax ,如果是普通的就不需要直接跳到登录就好了,如果是AJAX就丢出一个状态码。
如果不想自定义拦截器的话,直接监听响应的状态码也可以。
是这样的.我用的是SpringSecurity.3.1.2.框架,SecurityContextHolder.getContext().getAuthentication().getPrincipal(); 是获取Session的方式,我测试了半天.没有判断出Session超时是什么样子的,上面您们写的代码我现在无法跟此Session联系起来.思路不通..还有现在是Ajax方式.普通的跳转是行不通的.3楼的猜想本身就是不成立的.
要不重新定义个ajax拦截器
这个需要前端解决,我们也遇到过这个问题。
修改你前端封装的AJAX方法就可以了。
当XmlHttpRequest 的readyState 变为4 的时候,先解析HEAD信息,如果找到你后台存入的跳转信息,就由JS负责跳转页面。
如果你使用的是JQUERY,一般在这个地方修改他的源码:
// Wait for a response to come back
var onreadystatechange = xhr.onreadystatechange = function( isTimeout ) {
// The request was aborted
if ( !xhr || xhr.readyState === 0 ) {
// Opera doesn't call onreadystatechange before this point
// so we simulate the call
if ( !requestDone ) {
complete();
requestDone =
if ( xhr ) {
xhr.onreadystatechange = jQuery.
// The transfer is complete and the data is available, or the request timed out
} else if ( !requestDone && xhr && (xhr.readyState === 4 || isTimeout === "timeout") ) {
//这里添加解析,下面代码省略
&beans:bean id="concurrentSessionFilter"
class="com.test.webbasis.authentication.ConcurrentSessionFilter"&
&beans:property name="expiredUrl" value="/view/webbasis/login.jsp?code=4"&&/beans:property&
&beans:property name="timeoutUrl" value="/view/webbasis/login.jsp?code=2"&&/beans:property&
&beans:property name="sessionRegistry" ref="sessionRegistry"/&
&/beans:bean&
在 applicationContext-security.xml 里面加上这个 ConcurrentSessionFilterpublic class ConcurrentSessionFilter extends GenericFilterBean
然后在public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)
HttpServletResponse response = (HttpServletResponse)
HttpSession session = request.getSession(false);
if (session != null) {
SessionInformation info = sessionRegistry.getSessionInformation(session.getId());
if (info != null) {
if (info.isExpired()) {
// Expired - abort processing
doLogout(request, response);
session.setMaxInactiveInterval(0);
String targetUrl = determineExpiredUrl(request, info);
response.setHeader("Location",request.getContextPath()+targetUrl);
response.setHeader("sessionstatus", "timeout");
这你的看不懂就算了 ,我也帮不了。
我用的是Jquery
,Jquery改源码这块 我按照你写的 并没有看到这块代表 您的这块代码是jquery哪个版本的。后面这边代码我看懂了
9,10楼这位朋友。你能把你前端页面接收你后台过滤器doFiter方法response.setHeader("Location",request.getContextPath()+targetUrl);
response.setHeader("sessionstatus", "timeout");
前端页面是怎么获取的。特别是如果用全局的方式。只要是前端ajax的回调里获取上面代码里的信息。因为我们项目的核心代码已经写好。不能去每个Ajax里去改。要全局的统一处理。想知道统一处理的方式?可以吗
9,10楼这位朋友
public class ConcurrentSessionFilter extends GenericFilterBean
重写了这个Filter 但Debug发现,还是走了security自己的ConcurrentSessionFilter,为什么不走我重写的这个呢?能回答一下吗? 这是最后一个问题了。兄弟给你分!行吗,就差这一点就能解决这个问题了
楼上的能把ConcurrentSessionFilter写全吗?多谢。。。Spring Security - Redirecting
The page you have requested has moved to . You should be automatically redirect. If you have problems, click the link to
manually navigate to the new location.

我要回帖

更多关于 spring 教程 的文章

 

随机推荐