Spring Security

 

安全性是超越应用程序功能特性的一个关注点,所以最好的做法是将安全和应用分开考虑。

Spring Security
一种基于Spring AOP和Servlet过滤器的安全框架。(Servlet过滤器是AOP的一种原始形式)
是为基于Spring的应用程序提供说明性安全保护的框架,它提供全面的安全性解决方案,同时在web请求级和

方法调用级处理身份确认和授权。
组件:
安全拦截器 认证管理器
           访问决策管理器--为一个已经通过身份验证的用户确定访问权限
           运行身份管理器
           调用后管理器


认证管理器:
<bean id="authenticationManager"
 class="org.acegisecurity.providers.ProviderManager">
 <property name="providers">
  <list>
   <ref local="daoAuthenticationProvider" />
   <ref local="anonymousAuthenticationProvider" />
  </list>
 </property>
</bean>
providers.dao.DaoAuthenticationProvider----面向数据库的身份验证

<bean id="daoAuthenticationProvider"
 class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
 <property name="userDetailsService" ref="userService" />
</bean>

<bean id="userService" class="com.sitechasia.ebiz.security.service.impl.UserServiceImpl"/>

访问决策管理器:
<bean id="accessDecisionManager"
 class="org.acegisecurity.vote.AffirmativeBased">
 <property name="allowIfAllAbstainDecisions" value="false" />//所有投票者弃权的话拒绝访问
 <property name="decisionVoters">
  <list>
   <bean class="com.sitechasia.ebiz.security.vote.PermissionVoter" />
   <bean class="org.acegisecurity.vote.AuthenticatedVoter" />
  </list>
 </property>
</bean>

 

认证过滤器:
<bean id="authenticationProcessingFilter"
 class="com.sitechasia.ebiz.security.web.filter.AuthenticationProcessingFilter">
 <property name="authenticationManager"
  ref="authenticationManager" />
 <property name="authenticationFailureUrl"
  value="/login.jsp?login_error=1" />//认证失败
 <property name="defaultTargetUrl"
  value="/operServlet/defaultUrl" />//认证成功
 <property name="filterProcessesUrl"
  value="/j_acegi_security_check.do" />//经过此过滤器的请求
 <property name="isUpdateLoginTime" value="false" />
</bean>


web.xml
<servlet>
 <servlet-name>defaultUrl</servlet-name>
 <servlet-class>
  com.sitechasia.ebiz.opermanage.opersv.servlet.DefaultTargetUrlServlet
 </servlet-class>
 <load-on-startup>1</load-on-startup>
</servlet>
 
<servlet-mapping>
 <servlet-name>defaultUrl</servlet-name>
 <url-pattern>/operServlet/defaultUrl</url-pattern>
</servlet-mapping>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值