一直都是使用xml设置的方法进行method的权限控制。试着给manger的方法加@secured怎么试都不行。突然发现忘了设置annotation,记录一下。
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.1.xsd">
<http auto-config="true" lowercase-comparisons="false">
<!--
<intercept-url pattern="/**/*.html*" access="ROLE_ADMIN,ROLE_USER"/>
-->
<intercept-url pattern="/**/*.htm" access="ROLE_USER,ROLE_ADMIN" />
<intercept-url pattern="/WEB-INF/jsp/*.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<form-login login-page="/login.jsp"
authentication-failure-url="/login.jsp?error=true"
login-processing-url="/j_security_check" />
<logout logout-url="/logout.jsp" invalidate-session="true" />
<remember-me key="e37f4b31-0c45-11dd-bd0b-0800200c9a66" />
</http>
<!--
<authentication-provider> <password-encoder hash="sha" />
<user-service> <user name="user"
password="12dea96fec20593566ab75692c9949596833adc9"
authorities="ROLE_USER" /> <user name="admin"
password="d033e22ae348aeb5660fc2140aec35850c4da997"
authorities="ROLE_ADMIN" /> </user-service> </authentication-provider>
-->
<authentication-provider user-service-ref="userDetailService">
<password-encoder ref="passwordEncoder" />
</authentication-provider>
<!--Golbal method auto annotation is set -->
<global-method-security secured-annotations="enabled"
jsr250-annotations="enabled">
<protect-pointcut
expression="execution(*
*..service.UserManager.removeUser(..))"
access="ROLE_ADMIN" />
</global-method-security>
</beans:beans>
红色部分就是,气死我了。
使用用法
一个权限 Secured ({"ROLE_USER"})
多个权限 ({"ROLE_USER", "ROLE_ADMIN"})
不知道能不能支持级联权限
@Secured({"ROLE_ADMIN"})
public void saveUser(User user) throws Exception {
if (user.getVersion() == null) {
// if new user, lowercase userId
user.setUsername(user.getUsername().toLowerCase());
}
分享到:
相关推荐
以上就是Spring Security 学习笔记的第一部分,涵盖了Spring Security的基本使用和内存认证配置。后续的学习中,你将接触到更高级的主题,如自定义认证提供者、权限控制、OAuth2集成等。继续深入学习,你将能够构建...
例如,使用`<mvc:annotation-driven>`元素可以启用注解驱动的开发,使得@Controller、@RequestMapping等注解生效。 接下来,详细讲解Spring MVC的核心组件: 1. **Controller**:通过@Controller注解标识的类,...
- XML 配置:传统的配置方式,通过 `<mvc:annotation-driven>`、`<bean>` 等元素定义组件。 - Java 配置:使用 `@EnableWebMvc` 和 `WebMvcConfigurer` 接口进行配置。 5. **数据绑定与验证** - 数据绑定:...
Spring框架是Java开发中的一个核心框架,以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP...通过Spring教程和笔记,你可以深入理解并运用这些知识,提升你的Java开发能力。
5. **与 Spring 生态系统的集成**:可以轻松与其他 Spring 组件集成,如 Spring Security 等。 #### 五、总结 通过以上介绍,我们了解到 Spring MVC 的基本概念、工作流程以及一个简单的示例。Spring MVC 是一个...
此外,Spring还提供了一系列扩展模块,如Spring MVC、Spring Data、Spring Security等,覆盖了Web开发的各个方面。 **Spring的使用步骤**: 1. **加入Spring支持**:首先确保项目中包含了Spring的相关JAR包。 2. **...
- 特征:随着 JDK 1.5 引入了注解(Annotation)支持,Spring 2.x 开始支持使用注解来替代部分 XML 配置。 - 优势:大幅减少了 XML 配置量,使得代码更加简洁。 - 实践建议:推荐将基础配置(如数据源、资源文件...
<tx:annotation-driven transaction-manager="transactionManager"/> ``` - **注解配置**: ```java @Transactional public void doSomething() { // 业务逻辑 } ``` #### SpringMVC框架 **SpringMVC**是...
在Annotation方式下,开发者不再需要XML配置文件来定义bean及其依赖关系,而是直接在类上使用注解(如@Service、@Repository、@Controller等)来声明其角色和依赖。这样提高了代码的可读性和开发效率。 Struts2是...
你可以通过实现`org.springframework.web.bind.annotation.RequestMapping`注解的接口或直接使用带有该注解的方法来创建控制器。控制器方法接收请求,处理业务逻辑,并返回模型数据到视图。 1.1.6 启动测试 完成...
CXF 包含了大量的功能特性,但是主要集中在以下几个方面: 支持 Web Services 标准:CXF 支持多种 Web Services 标准,包含 SOAP、Basic Profile、WS-Addressing、WS-Policy、WS-ReliableMessaging 和 WS-Security。...
1. **Swagger Annotation(注解)**:Swagger2通过Java注解的方式,将API的元数据嵌入到代码中。例如,`@Api`用于标记控制器类,表示这是一个API资源;`@ApiOperation`用于标记具体的方法,描述该操作的作用;`@...