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

旅游网站盈利模式怎么做免费文案素材网站

旅游网站盈利模式怎么做,免费文案素材网站,网站源码下载软件,恶意点击竞价时用的什么软件在文章#xff1a;SpringBoot整合SpringSecurit#xff08;一#xff09;实现ajax的登录、退出、权限校验-CSDN博客 里面#xff0c;使用的session的方式进行保存用户信息的#xff0c;这一篇文章就是使用token的方式。 在其上进行的改造#xff0c;可以先看SpringBoot…在文章SpringBoot整合SpringSecurit一实现ajax的登录、退出、权限校验-CSDN博客 里面使用的session的方式进行保存用户信息的这一篇文章就是使用token的方式。 在其上进行的改造可以先看SpringBoot整合SpringSecurit一实现ajax的登录、退出、权限校验-CSDN博客,再看这个就比较好了。 1、新建过滤器将通过token查询到的用户信息存入到security中 package com.example.springboot.security.demo.filter;import com.example.springboot.security.demo.controller.LoginController; import lombok.extern.slf4j.Slf4j; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import org.springframework.web.filter.OncePerRequestFilter;import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Objects;/*** 将用户信息存入security中*/ Slf4j Component public class AuthFilter extends OncePerRequestFilter {Overrideprotected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {// 比如请求头中有个header叫token放置了认证后的请求头String token request.getHeader(token);log.info(用户token{}, token);if (StringUtils.hasText(token)) {// 验证token是否已经登录了的用户的token用户的token临时放在了LoginControllerUserDetails userDetails LoginController.TOKEN_USERNAME.get(token);if (Objects.nonNull(userDetails)) {// 有表示token是对的设置线程上下文认证信息,然后访问其他资源时security就会放行UsernamePasswordAuthenticationToken authenticationToken new UsernamePasswordAuthenticationToken(userDetails.getUsername(), userDetails.getPassword(), userDetails.getAuthorities());SecurityContextHolder.getContext().setAuthentication(authenticationToken);}}filterChain.doFilter(request, response);} } 2、修改security的配置 /*** 密码加密方式* //使用BCrypt进行密码加密校验* return*/Beanpublic PasswordEncoder passwordEncoder() {return new BCryptPasswordEncoder();}/*** 2.0配置security通过token访问不通过session访问* param http* throws Exception*/Resourceprivate AuthFilter authFilter;Overrideprotected void configure(HttpSecurity http) throws Exception {http.csrf().disable();//禁用CSRF控制即spring security不再限制CSRF即跨越访问http.authorizeRequests().antMatchers(/static/**).permitAll()//不需要登录认证就可以访问,静态资源等不需要验证.antMatchers(/login).permitAll() // 允许任何人访问登录接口.anyRequest().authenticated();//其他路径必须验证身份http.sessionManagement(sessionManager - sessionManager.sessionCreationPolicy(SessionCreationPolicy.STATELESS)); //不再管理session// 设置用户访问前filterhttp.addFilterBefore(authFilter, UsernamePasswordAuthenticationFilter.class);http.formLogin().loginPage(/login-view.html)//自定义登录页面路径加载登录的html页面.successHandler(userLoginAuthenticationSuccessHandler)//验证成功处理.failureHandler(userLoginAuthenticationFailureHandler)//验证失败处理.permitAll();//登录页面无需设置验证http.logout().logoutUrl(/logout)//登出路径.logoutSuccessHandler(userLogoutSuccessHandler)//登出处理.permitAll()//不需要身份认证.and().exceptionHandling().accessDeniedHandler(userAuthenticationAccessDeniedHandler);//无权限时的处理} 3、修改登录方法后端获取到账号、密码后根据账号查询到用户信息在校验密码如果密码成功就生成token并且把token放在内存或者redis中就完成了 /*** 简单的存放用户登录认证成功信息的地方*/public final static MapString, UserDetails TOKEN_USERNAME new HashMap();Resourceprivate UserDetailsServiceImpl userDetailsService;/*** SecurityConfig中配置的密码加密*/Resourceprivate PasswordEncoder passwordEncoder;/*** 登录认证获得token* param account 登录账号* param password 密码* return 认证token*/ResponseBodyPostMapping(/login)public JsonData login(String account, String password) {JsonData jsonData null;//根据账号查询用户信息UserDetails userDetails userDetailsService.loadUserByUsername(account);if (userDetails null) {jsonData new JsonData(401,用户名不存在);return jsonData;}//密码校验if(!passwordEncoder.matches(password,userDetails.getPassword())) {jsonData new JsonData(401,用户或密码错误);return jsonData;}// 认证成功发个token返回给前端String token UUID.randomUUID().toString();TOKEN_USERNAME.put(token, userDetails);System.out.println(token: token);jsonData new JsonData(200,token);return jsonData;} 4、测试 4.1、获取token 4.2、通过token查询信息
http://www.zqtcl.cn/news/561654/

相关文章:

  • 湛江网站建设皆选小罗24专业网站建设 福田
  • 厦门哪些做鲜花的网站门户网站开发设计报告
  • asp.net网站设计分工天津网站开发贴吧
  • 做多语言网站教程南宁vi设计公司
  • 百度联盟 网站备案wordpress 吾爱破解
  • 山西省建设厅网站首页网络营销推广为什么效果不好
  • 建材做网站好吗长沙做网站微联讯点不错
  • 建设小型网站分类门户网站系统
  • 文化馆网站数字化建设介绍138ip地址查询网站
  • 卖汽车的网站怎么做的建设服装网站的论文
  • 网络推广哪个网站好网站建设最低多少钱
  • 怎么在自己电脑做网站北京赛车网站开发
  • 门户网站内容wordpress上下页
  • 长安做英文网站营销型网站搭建
  • 网站开发交接清单seo排名优化方法
  • 各学院二级网站建设通报wordpress注册评论
  • 南通公司做网站无人在线完整免费高清观看
  • 廊坊网站推广局域网网站建设的步骤过程
  • 如何在工信部网站注册简易网页设计代码
  • 做石油系统的公司网站做艺术品展览的网站
  • 枣庄公司网站建设珠海蓝迪装饰设计工程有限公司
  • 广州企业网站营销电话成都网站建设制作设计
  • 求个网站带图片素材域名及密码登录域名管理网站
  • 文交所网站开发wordpress页面编辑插件
  • 丹徒网站建设价格做矿产公司的网站
  • 北京的制作网站的公司在哪里软件程序员
  • 企业网站怎么扣费的网站建设合同的性质
  • 聚美优品一个专注于做特价的网站如何制作个人网页兼职
  • 滨州做网站的公司最好wordpress主题
  • 福州网站设计软件公司dw网站开发流程