首先讲讲EhCache.在默认情况下,即在用户未提供自身配置文件ehcache.xml或ehcache-failsafe.xml时,EhCache会依据其自身Jar存档包含的ehcache-failsafe.xml文件所定制的策略来管理缓存.如果用户在classpath下提供了ehcache.xml或ehcache-failsafe.xml文件,那么EhCache将会应用这个文件.如果两个文件同时提供,那么EhCache会使用ehcache.xml文件的配置.EhCache内容如下: <ehca…
前面已经讲过关于保护Web资源的方式,其中包括直接在XML文件中配置和自定义实现FilterInvocationDefinitionSource接口两种方式.在实际企业应用中,保护Web资源非常重要,它是保障Web应用安全性的关键部分.有了它,我们的Web应用就显得更加安全了.的确,部分Web应用有了它已经足够了.但许多时候却有这样的场景,某企业的系统允许用户A查看数据,但不允许他修改或删除数据:而用户B不但可以查看数据,而且可以修改和删除数据.此时,前面所说的保护Web资源的方式就无法满足这个…
在默认情况下,即在用户未提供自身配置文件ehcache.xml或ehcache-failsafe.xml时,EhCache会依据其自身Jar存档包含的ehcache-failsafe.xml文件所定制的策略来管理缓存.如果用户在classpath下提供了ehcache.xml或ehcache-failsafe.xml文件,那么EhCache将会应用这个文件.如果两个文件同时提供,那么EhCache会使用ehcache.xml文件的配置.EhCache内容如下: <ehcache xmlns:xs…
Acegi应用到实际项目中(1)是基于BasicProcessingFilter的基本认证,这篇改用AuthenticationProcessingFilter基于表单的认证方式. 1.authenticationProcessingFilter 处理认证请求(通常是一个登录页面的表单请求).当身份验证成功时,AuthenticationProcessingFilter会在会话中放置一个Authentication对象,并且重定向到登录成功页面 authenticationFailureUrl…
在此,本人声明,我处于菜鸟阶段,文章的内容大部分摘自zhanjia的博客(http://zhanjia.iteye.com/category/43399),旨在学习,有很多地方,我理解不够透彻,可能存在不合理的地方,请大家多担待. 如需了解关于Acegi的相关内容,请点击:http://www.cnblogs.com/cainiaomahua/p/8806357.html 一般来说,Acegi的配置主要包括两个方面的内容:web.xml中过滤器的配置和Acegi安全文件的配置. 一.web.xm…
在某些应用场合中,可能需要用到切换用户的功能,从而以另一用户的身份进行相关操作.这一点类似于在Linux系统中,用su命令切换到另一用户进行相关操作. 既然实际应用中有这种场合,那么我们就有必要对其进行研究,以求在需要时把它加入到应用中.那么,接下来我们就来研究下如何在Acegi中实现切换用户的功能. 一般来说,切换用户功能是从高级用户切换到普通用户,从而以普通用户的身份来进行一些操作.相反,普通用户通常是不能切换为高级用户的,如果可以的话那就是越权了. 实现步骤:1. 添加SwitchUser…
一个能为DaoAuthenticationProvider提供存取认证库的的类,它必须要实现UserDetailsService接口: public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException; UserDetails 是一个接口,它能提供一系列get函数以获得认证时需要的基本认证信息如用户名.密码.所获得的授权.是否禁用等:一个具体的实…
此节将要了解的是AnonymousProcessingFilter.RememberMeProcessingFilter和LogoutFilter三个过滤器 1.AnonymousProcessingFilter 在大部分企业应用中,存在许多不需要用户登录就可以访问的资源,比如登录页面.退出页面.主页等.鉴于此,Acegi提供了匿名认证服务.这样能够使所有的Web资源得到保护,而不是某些资源不设权限控制,让任何人访问,这样Acegi使Web安全策略模型应用的非常完美.与此同时,SecurityC…
在企业应用中,用户的用户名.密码和角色等信息一般存放在RDBMS(关系数据库)中.前面几节我们采用的是InMemoryDaoImpl,即基于内存的存放方式.这节我们将采用RDBMS存储用户信息. UserDetailsService的接口实现有JdbcDaoImpl和InMemoryDaoImpl.JdbcDaoImpl通过数据库获取用户名.密码和角色信息,它将是接下来的重点内容. 1.简单JdbcDaoImpl配置 默认时, JdbcDaoImpl会采用如下SQL获得用户名.密码.启用状态:…
在某些应用场合中,我们可能需要用到切换用户的功能,从而以另一用户的身份进行相关操作.这一点类似于在Linux系统中,用su命令切换到另一用户进行相关操作.      既然实际应用中有这种场合,那么我们就有必要对其进行研究,以求在需要时把它加入到应用中.那么,接下来我们就来研究下如何在Acegi中实现切换用户的功能. 一般来说,切换用户功能是从高级用户切换到普通用户,从而以普通用户的身份来进行一些操作.相反,普通用户通常是不能切换为高级用户的,如果可以的话那就是越权了. 实现步骤:1. 添加Swi…