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

长春网站排名优化公司宁夏一站式网站建设

长春网站排名优化公司,宁夏一站式网站建设,阿里云网站建设9元,网站修改需要什么1. 基于Session的登录验证 基于Session的登录验证方式是最简单的一种登录校验方式。 为啥能用Session作为登录验证的一种方式#xff0c;因为每个用户的请求都会有一个Session#xff0c;这个对象是Servlet给我们创建的#xff0c;不需要我们手动创建#xff0c;并且这个…1. 基于Session的登录验证 基于Session的登录验证方式是最简单的一种登录校验方式。 为啥能用Session作为登录验证的一种方式因为每个用户的请求都会有一个Session这个对象是Servlet给我们创建的不需要我们手动创建并且这个对象的作用域为整个Web页面也就是在整个项目中这个Session可以存储一些内容相当于全局缓存并且这个Session有默认的过期时间默认为30分钟使得保存到Session对象中的值可以在各个Web页面中共享。因此我们可以利用这个特性保存用户的登录信息。我们可以编写一个拦截器在拦截器中通过request对象获取Session对象然后根据Key值获取到Value值类似于Map集合获取到值后和数据库进行比对如果用户名和密码一致就放行否则拦截。 下面是具体的代码通过请求登录接口校验输入的用户名和密码是否正确如果正确就把这个用户信息保存到Session对象中。 package com.ukefu.characterglm.controller;import cn.hutool.crypto.SecureUtil; import com.ukefu.characterglm.entity.User; import com.ukefu.characterglm.service.UserService; import com.ukefu.characterglm.utils.BaseResponse; import com.ukefu.characterglm.utils.ErrorCode; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpSession; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.util.HashMap; import java.util.Map;/*** author Luke Ewin* date 2024/2/4 14:07* blog blog.lukeewin.top*/ RestController RequestMapping(/user) public class UserController {Autowiredprivate UserService userService;PostMapping(/login)public BaseResponse login(HttpServletRequest request, RequestBody User user) {if (user ! null StringUtils.isNotBlank(user.getName()) StringUtils.isNotBlank(user.getPassword())) {String name user.getName();String password user.getPassword();User tempUser userService.login(name, SecureUtil.md5(password));if (tempUser ! null) {MapString, String map new HashMap();map.put(id, String.valueOf(tempUser.getId()));map.put(name, tempUser.getName());map.put(email, tempUser.getEmail());map.put(phone, tempUser.getPhone());// 保存用户的登录状态HttpSession session request.getSession();session.setAttribute(user, tempUser);return BaseResponse.success(map);} else {return BaseResponse.error(ErrorCode.USERNAME_PASSWORD_ERROR);}}return BaseResponse.error(ErrorCode.MISS_PARAMS);} }拦截器 public class LoginInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {HttpSession session request.getSession();Object user session.getAttribute(user);if (user ! null) {return true;}request.getRequestDispatcher(/error/login).forward(request, response);return false;} }配置把自定义的拦截器添加到容器内 Configuration public class WebConfig implements WebMvcConfigurer {Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LoginInterceptor()).addPathPatterns(/**).excludePathPatterns(/user/login, /error/**);} }这里需要注意一定要记得放行/error/**否则会报错。
http://www.zqtcl.cn/news/668640/

相关文章:

  • 网站建设模式有哪些内容seo品牌
  • 衡水做网站服务商济南如何挑选网站建设公司
  • 全屏的网站制作企业网站欢迎界面素材
  • 视频网站切片怎么做网站建设可自学吗
  • 本地推广平台网站seo优化如何做
  • 网站建设费算费用还是固定资产百度秒收录
  • 企业建站系统营销吧tt团队韩国企业网站设计
  • 上海嘉定网站建设公司有没有知道网址的
  • 电商网站的银行支付接入该怎么做杭州微信小程序外包
  • 余姚网站推广策划案门户网站做等保需要备案哪些
  • 网站关键字优化公司wordpress制作百度地图xml
  • 网站建设进度总结网站文件权限设置
  • 织梦网站如何做地区分站厦门网站代理
  • 模板做网站优缺点网络营销推广公司获客
  • 如何做网站充值用flash做网站超链接
  • 网站图片管理系统临沂百度推广多少钱
  • 渭南建设用地规划查询网站教育局两学一做网站
  • 无锡专业网站制作的公司长春seo技术
  • 东莞做网站哪家最好电商网站支付接口
  • 西安火车站网站建设深圳做百度网站
  • asp网站助手金融学类就业方向及就业前景
  • 用点心做点心官方网站现在手机网站用什么做的好
  • 唐山市路桥建设有限公司网站专门写文章的网站
  • 东莞食品网站建设湖南企业竞价优化
  • 吉林网站建设找哪家湛江大型网站模板建设
  • 中国建设监理业协会网站国产cms
  • 计算机网站建设与维护wordpress 500错误
  • 元器件网站开发客户wordpress伪静态301错误
  • 网站设计排行怎么样用ppt做网站
  • 网站联盟名词解释网站建设 上海网站建设