在SPRING SECURITY中,当用户登陆成功后,会将该用户的权限放到Authentication对象中,而资源的控制权限定义是通过org.springframework.security.intercept.method.aopalliance.MethodSecurityInterceptor来进行的,该类通过设置objectDefinitionSource将资源和资源需要的权限获取到,通过accessDecisionManager来设置决策机制,这里通过org.springframework.security.vote.AuthenticatedVoter
根据Authentication对象中的权限和资源的权限进行比较,来判断该用户是否可以访问该方法,当与CXF进行结合时,主要是将用户认证放入到Authentication对象中,这个在CXF中可以通过org.springframework.ws.soap.security.wss4j.callback.SpringPlainTextPasswordValidationCallbackHandler进行注入,这样完整的WEBSERVICE认证和方法的资源控制就完成了!
<bean id="acegiHandler"
class="org.springframework.ws.soap.security.wss4j.callback.SpringPlainTextPasswordValidationCallbackHandler">
<property name="authenticationManager">
<ref bean="authenticationManager" />
</property>
</bean>
<aop:config>
<aop:pointcut id="securityPointcut"
expression="execution(** com.cigna.smsplatform.service..*.*(..))" />
<aop:advisor advice-ref="methodSecurityInterceptor"
pointcut-ref="securityPointcut" order="0" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="securityPointcut"
order="1" />
</aop:config>
<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<value>baSendAlertTaskService</value>
</property>
<property name="interceptorNames">
<list>
<value>methodSecurityInterceptor</value>
</list>
</property>
</bean>
附件是从JAVAEYE中获取到的代码!
分享到:
相关推荐
在本文中,我们将深入探讨如何在Spring Security 2.0版本中配置并使用AOP(面向切面编程)来实现方法级别的权限控制。首先,我们需要理解Spring Security的基础概念。 1. **Spring Security基本架构** Spring ...
**5.5 Spring Security 中的访问控制** - **安全和 AOP 建议**:利用面向切面编程(AOP)来实现细粒度的访问控制。 - **安全对象和 AbstractSecurityInterceptor**:安全拦截器实现了对业务层方法调用的安全性控制。 ...
Spring Security 3.0.1 是在 Spring Security 3.0 的基础上进行的一次 bug 修复版本,主要针对先前版本中存在的问题进行了修正。此次版本未引入新的功能,但修正了一些已知的问题,增强了稳定性。 ##### 1.4 获取 ...
- **springsecurity-sample**:这个示例项目可能包含了从创建用户、角色到实现登录、权限控制的完整流程。你可以通过它学习如何配置Spring Security XML或Java配置,如何编写自定义的认证和授权逻辑,以及如何在...
### Spring Security 安全权限管理手册知识点概览 #### 一、基础篇 **1. 一个简单的Hello World** - **1.1 配置过滤器** - 介绍如何在Spring Security中配置基本的过滤器,以实现对HTTP请求的基本拦截与控制。 - ...
- **发展历程**:Spring Security的发展历程可以追溯到早期的ACEGI Security项目,后来被集成到Spring框架中,并经过多次迭代更新,形成了如今功能强大且灵活的Spring Security框架。 - **获取方式**: - **项目...
Spring Security提供了对方法调用的保护,可以控制全局范围的方法权限,也可以控制某个bean内的方法权限。此外,Spring Security还支持使用注解来控制方法权限,例如使用@Secured或JSR-250注解。 #### 权限管理的...
SpringSecurity是Java领域中一款强大的安全框架,它主要用于实现Web应用程序的安全控制,包括认证、授权等核心功能。在"SpringSecurity笔记2-SpringSecurity命名空间"这个主题中,我们将深入探讨SpringSecurity配置...
1. **自定义权限注解**:在Spring Security中,可以通过注解来控制方法的访问权限。对于按钮级别的权限控制,可以创建自定义的注解。 2. **权限检查**:通过自定义的权限注解,可以在控制器方法执行前检查用户是否...
总的来说,Spring Security与Thymeleaf的整合为Web应用提供了强大的访问控制能力,允许开发者轻松地定义安全策略,并在模板中灵活地处理用户角色和权限。通过实践和不断优化,你可以构建出既安全又易用的Web应用。
标题:springsecurity3.1.pdf 描述:springsecurity3.1.pdf 标签:spring security3.1 部分内容:SpringSecurity Reference Documentation by Ben Alex and Luke Taylor 3.1.4.RELEASE **一、Spring Security 3.1...
Spring Security是一个用于Java应用的安全框架,专注于为基于Spring的应用程序提供声明式的安全控制,同时它支持如认证和授权这样的安全特性。Spring Security 3.0.1是该框架的一个bugfix版本,它修正了3.0版本中...
- **5.2.1 SecurityContextHolder, SecurityContext 和 Authentication 对象**:这些是 Spring Security 中的核心概念,用于管理当前用户的认证状态。 - **5.2.2 UserDetailsService**:定义了如何加载用户信息的...
### Spring Security 3.0权限问题相关知识点 #### 一、Spring Security简介 **1.1 Spring Security 是什么?** Spring Security 是一个强大的且高度可定制的身份验证和访问控制框架。它为Java应用提供了声明式的...
在这个场景中,我们将探讨如何使用Spring Security来实现登录和权限角色控制。首先,确保你正在使用的Spring版本为4.3.2.RELEASE,而Spring Security版本是4.1.2.RELEASE。在开始之前,你需要对Spring MVC、SPeL...
在3.0.4版本中,Spring Security引入了访问控制列表(Access Control Lists,简称ACLs),这是一个功能强大的机制,用于实现细粒度的权限控制。在本例中,我们将探讨如何在Spring Security 3.0.4中使用ACL特性。 ...
Spring Security 提供了一套完整的解决方案来解决Web应用程序和普通Java应用程序中的安全问题,包括认证(Authentication)、授权(Authorization)以及安全配置等。 **1.2. 历史** Spring Security 的前身是Acegi...
- 介绍如何在Spring Security中控制全局范围内方法的权限。 - 探讨具体的配置方法及其应用场景。 - **19.2 控制某个bean内的方法权限** - 描述如何针对特定Bean的方法实施权限控制。 - 探讨具体的配置方法及其优...
Spring Security的核心功能包括用户认证、权限控制和会话管理。它通过拦截HTTP请求,对用户进行身份验证和授权,从而保护应用程序资源。这个框架提供了灵活的配置选项,允许开发者根据项目需求定制安全策略。 2. *...
在 Spring Security 3.2 版本中,它提供了全面的访问控制和身份验证功能,使得开发者能够轻松地实现用户权限管理、会话管理以及多种安全需求。 一、核心组件与架构 Spring Security 的核心组件包括 Filter Chain...