<%@ taglib prefix="security" uri="http://www.springframework.org/security/tags" %> 设置调用自定义的
时间: 2024-01-02 14:04:27 浏览: 21
security 标签库需要在 Spring Security 配置文件中进行配置。首先,在 web.xml 文件中配置 Spring Security 的过滤器:
```
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
```
接下来,在 Spring Security 配置文件中配置自定义的 security 标签库:
```
<beans:bean id="securityExpressionHandler" class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler">
<beans:property name="permissionEvaluator" ref="customPermissionEvaluator"/>
</beans:bean>
<beans:bean id="customPermissionEvaluator" class="com.example.CustomPermissionEvaluator"/>
<security:authorize access="@customPermissionEvaluator.checkPermission('ROLE_ADMIN')">
<!-- 只有 ROLE_ADMIN 角色可以访问的内容 -->
</security:authorize>
```
在这个例子中,我们创建了一个自定义的 PermissionEvaluator 实现类 CustomPermissionEvaluator,并将其注入到 DefaultMethodSecurityExpressionHandler 中。然后,在 security 标签库中使用 @customPermissionEvaluator.checkPermission('ROLE_ADMIN') 来检查当前用户是否有 ROLE_ADMIN 角色。如果有,则可以访问包裹在 security:authorize 标签中的内容。