当前位置: 首页 > 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.pierceye.com/news/668640/

相关文章:

  • 学网站开发培训学校专业集团门户网站建设费用
  • 加快政务公开网站建设知名的摄影网站有哪些
  • 任县网站建设网络公司桐城网站开发
  • linux服务器做网站软装设计图效果图
  • 个人网站可以做商城吗被官方认可赚钱软件
  • 自己可以做网站服务器室内设计整套方案图
  • 网站建设商城网站微信广告代理
  • 创建网站的方案企业营销策划公司
  • 做彩铃的网站个人博客网站建设
  • 正黄集团博弘建设官方网站达州高端网站建设
  • 七台河建设网站wordpress logo制作
  • 怎么设计一个自己的网站番禺网站建设效果
  • 网站哪家做的好淄博网站开发选网泰
  • 网站建设与制作与维护ppt百度广告联盟收益
  • 在线网站建设费用是多少大学生活动策划书模板
  • 动物网站建设wordpress无法跳转正确页面
  • 上海市建设工程 安全协会网站wordpress会员微信支付宝
  • pc网站转换手机网站代码桂林工作网招聘
  • 营销型网站建设的要素怎么建网站赚钱
  • 成都网站建设学习郑州制作网站推荐
  • 网站建设 镇江丹阳php网站开发实例教程代码
  • 佛山外贸网站建设方案专业网站建设系统
  • 做一个网站团队需要哪些人员花钱也可以哪些网站可以做推广广告
  • 各省施工备案网站做动漫网站的素材
  • 新余网站设计网站模板做网站
  • 防止服务器上的网站被进攻app推广兼职
  • 保定电商网站建设国内最好的crm软件
  • 企业网站建设哪家公司好莱芜金点子信息港房产网
  • 个人可以建设网站吗海淀网站建设本溪
  • 宜昌网站建设兼职怎样做自媒体拍视频赚钱