当前位置: 首页 > wzjs >正文

母婴用品购物网站制作职业技能培训有哪些

母婴用品购物网站制作,职业技能培训有哪些,招聘美容师在哪个网站做招聘最有效,亚马逊卖家可以做促销的网站Spring Security 的过滤器链提供了灵活的安全控制机制,以下是其在实际开发中的 常见用法 及对应的过滤器配置示例: 一、认证方式配置 1. 表单登录认证 • 过滤器:UsernamePasswordAuthenticationFilter • 配置: http.formLogi…

Spring Security 的过滤器链提供了灵活的安全控制机制,以下是其在实际开发中的 常见用法 及对应的过滤器配置示例:


一、认证方式配置

1. 表单登录认证

过滤器UsernamePasswordAuthenticationFilter
配置

http.formLogin().loginPage("/login")          // 自定义登录页.loginProcessingUrl("/auth")  // 登录处理路径.defaultSuccessUrl("/home")   // 登录成功跳转.failureUrl("/login?error");  // 登录失败跳转
2. JWT 令牌认证

自定义过滤器:解析请求头中的 JWT Token

public class JwtAuthFilter extends OncePerRequestFilter {@Overrideprotected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) {String token = request.getHeader("Authorization");if (validateToken(token)) {Authentication auth = createAuthentication(token);SecurityContextHolder.getContext().setAuthentication(auth);}chain.doFilter(request, response);}
}

注册过滤器

http.addFilterBefore(new JwtAuthFilter(), UsernamePasswordAuthenticationFilter.class);
3. OAuth2 社交登录

依赖过滤器OAuth2AuthorizationRequestRedirectFilterOAuth2LoginAuthenticationFilter
配置

http.oauth2Login().loginPage("/login").defaultSuccessUrl("/profile").userInfoEndpoint().userService(oauth2UserService);

二、安全防护配置

1. 禁用 CSRF 防护

适用场景:无状态 API 服务(如使用 JWT)

http.csrf().disable();
2. 启用 CORS 跨域支持

过滤器CorsFilter
配置

@Bean
CorsConfigurationSource corsConfigurationSource() {CorsConfiguration config = new CorsConfiguration();config.addAllowedOrigin("https://example.com");config.addAllowedMethod("*");config.addAllowedHeader("*");UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**", config);return source;
}
3. 安全响应头配置

过滤器HeaderWriterFilter
配置

http.headers().contentSecurityPolicy("default-src 'self'").frameOptions().deny();

三、授权控制配置

1. 基于角色的访问控制

过滤器FilterSecurityInterceptor
配置

http.authorizeRequests().antMatchers("/admin/**").hasRole("ADMIN").antMatchers("/user/**").hasAnyRole("USER", "ADMIN").anyRequest().authenticated();
2. 方法级权限控制

启用注解

@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {}

使用注解

@PreAuthorize("hasRole('ADMIN')")
@GetMapping("/admin/dashboard")
public String adminDashboard() { /* ... */ }

四、会话管理

1. 无状态会话(适用于 API)

配置

http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
2. 会话并发控制

配置

http.sessionManagement().maximumSessions(1)  // 每个用户最多一个会话.expiredUrl("/login?expired");

五、静态资源处理

1. 忽略静态资源

过滤器WebSecurity 配置

@Override
public void configure(WebSecurity web) {web.ignoring().antMatchers("/css/**", "/js/**", "/images/**");
}

六、异常处理

1. 自定义未认证响应

配置

http.exceptionHandling().authenticationEntryPoint((request, response, authException) -> {response.sendError(HttpStatus.UNAUTHORIZED.value(), "请先登录");});
2. 自定义无权限响应

配置

http.exceptionHandling().accessDeniedHandler((request, response, accessDeniedException) -> {response.sendError(HttpStatus.FORBIDDEN.value(), "权限不足");});

七、自定义过滤器链

1. 添加自定义过滤器
// 添加日志过滤器到链首
http.addFilterBefore(new RequestLoggingFilter(), SecurityContextPersistenceFilter.class);
2. 移除默认过滤器
// 禁用默认的 BasicAuthenticationFilter
http.httpBasic().disable();

总结

Spring Security 过滤器链的常见用法可归纳为以下场景:

场景关键过滤器/配置典型应用
表单登录UsernamePasswordAuthenticationFilter传统 Web 应用登录
API 令牌认证自定义 JWT/OAuth2 过滤器前后端分离架构
安全防护CsrfFilterCorsFilter防止 CSRF、配置跨域
细粒度授权FilterSecurityInterceptor基于 URL 或方法的权限控制
会话管理SessionManagementFilter控制会话创建策略和并发登录
静态资源WebSecurity.ignoring()加速 CSS/JS/图片加载

通过灵活组合这些配置,开发者可以快速实现从简单登录到复杂分布式系统的安全需求,同时保持代码的可维护性和扩展性。

http://www.dtcms.com/wzjs/230397.html

相关文章:

  • 采购供应链管理系统google关键词排名优化
  • 网站tag 怎么实现seo网站页面优化包含
  • 什么网站可以做进出口买卖seo推广软
  • 晋江网站建设公司哪家好今日最新新闻摘抄
  • wordpress全站pjax湖北百度关键词排名软件
  • 比较正规的招聘网站购买模板建站
  • jquery 动画网站google官网注册
  • 有些公司做网站比较好的关键词优化是怎么做的
  • 建立网站的连接结构有哪几种形式广告商对接平台
  • 旅游网站开发的背景百度爱采购推广一个月多少钱
  • tk域名注册网站营销网站定制公司
  • 有做二手厨房设备的网站吗长沙网站推广合作
  • wordpress后台界面修改微信seo是什么意思
  • 济宁网站定制公司网站一年了百度不收录
  • 网站jianshe百度手机助手app安卓版官方下载
  • 公司网站怎么发布文章友链购买有效果吗
  • 如何用zblog做棋牌网站网络推广有哪些
  • 网络网站建设办公友情链接地址
  • 徐州建网站产品网络推广的方法有哪些
  • 专业的企业智能建站比较好网店代运营骗局流程
  • 男女做爰免费网站网站建设制作公司
  • 电商 网站 降低 跳出率 措施 效果建网站用什么软件
  • ps网站如何做烫金的文字做百度推广效果怎么样
  • 一个网站主机多少钱个人如何在百度做广告
  • 有没有catia做幕墙的网站谷歌seo排名公司
  • win7建设网站教程互联网广告销售好做吗
  • 商务网站的建设与管理网站需要怎么优化比较好
  • 建站的cms百度帐号登录入口
  • 网站建设软件 优帮云网站收录情况查询
  • 西安公司网站如何建设怎么引流到微信呢