- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第
SpringSecurity权限控制框架使用指南
在常用的后台管理系统中,通常都会有访问权限控制的需求,用于限制不同人员对于接口的访问能力,如果用户不具备指定的权限,则不能访问某些接口。
本文将用waynboot-mall项目举例,给大家介绍常见后管系统如何引入权限控制框架SpringSecurity。大纲如下,
一、什么是SpringSecurity
SpringSecurity是一个基于Spring框架的开源项目,旨在为Java应用程序提供强大和灵活的安全性解决方案。SpringSecurity提供了以下特性:
认证:支持多种认证机制,如表单登录、HTTP基本认证、OAuth2、OpenID等。
授权:支持基于角色或权限的访问控制,以及基于表达式的细粒度控制。
防护:提供了多种防护措施,如防止会话固定、点击劫持、跨站请求伪造等攻击。
集成:与Spring框架和其他第三方库和框架进行无缝集成,如SpringMVC、Thymeleaf、Hibernate等。
二、如何引入SpringSecurity
在waynboot-mall项目中直接引入spring-boot-starter-security依赖,
dependencies
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter-security/artifactId
version3.1.0/version
/dependency
/dependencies
三、如何配置SpringSecurity
在SpringSecurity3.0中要配置SpringSecurity跟以往是有些不同的,比如不在继承WebSecurityConfigurerAdapter。在waynboot-mall项目中,具体配置如下,
@Configuration
@EnableWebSecurity
@AllArgsConstructor
@EnableMethodSecurity(securedEnabled=true,jsr250Enabled=true)
publicclassSecurityConfig{
privateUserDetAIlsServiceImpluserDetailsService;
privateAuthenticationEntryPointImplunauthorizedHandler;
privateJwtAuthenticationTokenFilterjwtAuthenticationTokenFilter;
privateLogoutSuccessHandlerImpllogoutSuccessHandler;
@Bean
publicSecurityFilterChainfilterChain(HttpSecurityhttpSecurity)throwsException{
httpSecurity
//cors启用
.cors(httpSecurityCorsConfigurer-{})
.csrf(AbstractHttpConfigurer::disable)
.sessionManagement(httpSecuritySessionManagementConfigurer-{
httpSecuritySessionManagementConfigurer.sessionCreationPolicy(SessionCreationPolicy.STATELESS);
.exceptionHandling(httpSecurityExceptionHandlingConfigurer-{
httpSecurityExceptionHandlingConfigurer.authenticationEntryPoint(unauthorizedHandler);
//过滤请求
.authorizeHttpRequests(authorizationManagerRequestMatcherRegistry-{
authorizationManagerRequestMatcherRegistry
.requestMatchers(/favicon.
有哪些信誉好的足球投注网站
文档评论(0)