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

永州网站建设公司推荐wordpress建cms

永州网站建设公司推荐,wordpress建cms,常州设计公司排名,天津红桥网站建设登录功能#xff1a; 前端传递json格式的数据。username#xff08;用户名#xff09;password#xff08;密码#xff09;。controller层对数据进行接收#xff0c;由于是接收json格式的数据#xff0c;所以我们把它封装到一个对象里面#xff0c;由于登录是员工进行登…登录功能 前端传递json格式的数据。username用户名password密码。controller层对数据进行接收由于是接收json格式的数据所以我们把它封装到一个对象里面由于登录是员工进行登录所以我们封装到员工表中public Result login(RequestBody Emp emp){}   接收json格式的数据我们使用RequestBody注解封装到对象中。看到返回类型我们自定义了一个返回的实体类。LoginInfo     然后调用service层进行业务处理。调用mapper层接口把controller传递给service层的emp参数传递给mapper层     mapper层根据参数对数据库进行查询返回值类型是emp。如果查询到结果不为null代表登录成功查询结果为null代表查询失败。     service层根据mapper层的返回结果进行判断如果返回的emp不是null则对返回出来的数据进行封装 return new LoginInfo(emp.getId,emp.getUserName,emp.getname,null)如果查询到没有数据就返回null。     由于我们的service1层直接返回了 loginInfo所以在返回给前端的时候还要进行判断如果Logininfo不为null返回Result.success(loginInfo)如果logininfo为nullreturn Result.error(用户名或密码错误); 引子 虽然我们写了 登录的接口但是我们测试发现就算在没有登录的情况下用户还是可以随便对我们的系统进行访问。    我们需要进行登录校验如果用户登录我们就下发jwt令牌然后作为登录的标记在每次用户请求的时候都要携带这个jwt令牌统一拦截器会根据有没有令牌进行校验。有就放行没有就拦截。    登录标记用户登录之后在后续的每一次请求中都可以获取到该标记【会话技术】    统一拦截过滤器filter拦截器interceptor 登录校验 会话技术 会话用户打开浏览器访问web服务器的资源会话建立直到有一方断开连接会话结束。在一次会话中可以包含多次请求和响应。 会话跟踪 一种维护浏览器状态的方法服务器需要识别多次请求是否来自于同一浏览器以便在同一次会话的多次请求间共享数据。 会话跟踪方案 客户端会话跟踪技术Cookie 优点 HTTP协议中支持的技术 缺点 移动App无法使用Cookie不安全用户可以自己禁用cookieCookie不能跨域 区分跨域的三个维度 协议IP/域名端口 服务端会话跟踪技术Session 优点 HTTP协议中支持的技术 缺点 移动端APP无法使用Cookie  不安全用户可以自己禁用Cookie   Cookie不能跨域 JWT令牌 优点 支持PC端、移动端 解决集群环境下的认证问题 减轻服务器端存储压力 缺点 需要自己实现 全称 JSON Web Token https://jwt.io/定义了一种简洁的、自包含的格式用于在通信双方以json数据格式安全的传输信息。 组成 第一部分Header(头记录令牌类型、签名算法等。 例如{alg:HS256,type:JWT}            第二部分Payload(有效载荷携带一些自定义信息、默认信息等。 例如{id:1,username:Tom}            第三部分Signature(签名防止Token被篡改、确保安全性。将header、payload融入并加入指定秘钥通过指定签名算法计算而来。 jwt依赖 dependency groupIdio.jsonwebtoken/groupIdartifactIdjjwt/artifactId version0.9.1/version /dependency 生成令牌 Test public void testGenJwt() {    MapString, Object claims new HashMap();    claims.put(id, 10);    claims.put(username, itheima);    String jwt Jwts.builder().signWith(SignatureAlgorithm.HS256, SVRIRUlNQQ)    .addClaims(claims)    .setExpiration(new Date(System.currentTimeMillis() 12*3600*1000))           .compact();    System.out.println(jwt);} 解析令牌 Testpublic void testParseJwt() {    Claims claims Jwts.parser().setSigningKey(SVRIRUlNQQ)            .parseClaimsJws(eyJhbGciOiJIUzI1NiJ9.eyJpZCI6MTAsInVzZXJuYW1lIjoiaXRoZWltYSIsImV4cCI6MTY5ODYyMjI1NX0.l6D1WG3...)            .getBody();    System.out.println(claims);} 过滤器Filter         快速入门             概念                 Filter 过滤器是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。 过滤器可以把对资源的请求拦截下来从而实现一些特殊的功能。 过滤器一般完成一些通用的操作比如登录校验、统一编码处理、敏感字符处理等。 快速操作                 定义Filter定义一个类实现                     Slf4j //WebFilter(urlPatterns /*)  // 拦截所有请求 public class DemoFilter implements Filter {     Override     public void init(FilterConfig filterConfig) throws ServletException {         log.info(DemoFilter init 方法执行了... );     } Override     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {         log.info(DemoFilter diFilter 方法执行了 放行前执行...); chain.doFilter(servletRequest,servletResponse); //放行 log.info(DemoFilter diFilter 方法执行了 放行后执行...);     } Override     public void destroy() {         log.info(DemoFilter destory 方法执行了...);     } }                 配置FilterFilter类上加WebFilter注解配置拦截路径。引导类上加ServletComponentScan 开启Servlet组件支持。                     ServletComponentScan    //开启spring boot对javaweb组件的支持filter SpringBootApplication public class TilasRun { public static void main(String[] args) {         SpringApplication.run(TilasRun.class, args);     } }         详解             放行后访问对应资源资源访问完成后还会回到Filter中吗                 会回到filter类中             如果回到Filter中是重新执行还是执行放行后的逻辑呢 会执行放行后的逻辑             拦截路径                 拦截具体路径                     /login    只有访问 /login 路径时才会被拦截。                 目录拦截                     /emps/*   只有访问/emps下的所有资源才会被拦截。                 拦截所有                     /*     访问所有资源都会被拦截             过滤器链                 介绍                     一个web应用中可以配置多个过滤器这多个过滤器就形成了一个过滤器链。                 顺序                     注解配置的Filter优先级是按照过滤器类名字符串的自然排序。 登录校验-Filter             所有的请求拦截到了之后都需要校验令牌吗                 有一个例外登录请求不用拦截。             拦截到请求后什么情况下才可以放行执行操作业务                 有令牌且令牌校验通过合法否则都返回未登录错误结果 步骤                 1获取请求url。 2判断请求url中是否包含login如果包含说明是登录操作放行。 3获取请求头中的令牌token。 4判断令牌是否存在如果不存在响应401。 5解析token如果解析失败响应401 。 6放行。 拦截器Interceptor         快速入门             概念                 是一种动态拦截方法调用的机制类似于过滤器。Spring框架中提供的主要用来动态拦截控制器方法的执行。             作用                 拦截请求在指定的方法调用前后根据业务需要执行预先设定的代码。 定义拦截器实现HandlerInterceptor接口并重写其所有方法。 注册拦截器 详解             /*    一级路径    能匹配/depts/emps/login不能匹配 /depts/1 /**  任意路径   能匹配/depts/depts/1/depts/1/2 /depts/*    /depts下的下一级路径    能匹配/depts/1不能匹配/depts/1/2/depts             /depts/**       /detps下的任意级路径      能匹配/deptsdepts/1/2  不能匹配 emps/1             Filter和interceptot的区别                 接口规范不同过滤器需要实现Filter接口而拦截器需要实现HandlerInterceptor接口。 拦截范围不同过滤器Filter会拦截所有的资源而Interceptor只会拦截Spring环境中的资源。
http://www.hkea.cn/news/14286291/

相关文章:

  • 公司网站建设报价王野天葛优
  • 绍兴网站建设方案推广外贸流程询盘
  • 梧州论坛最新消息门户网站优化怎么做
  • 网页设计素材网站wordpress文章审核发邮件
  • 订餐网站开发流程备案怎么关闭网站吗
  • 申报湖南创新型省份建设专项网站保定网站建设哪家好
  • 建设银行公积金网站提示udun网站突然找不到了 然后降权重 排名不变
  • 网站站外优化推广方式网站对企业的重要性
  • 新都有没有做网站的网站建设云创
  • 北京网站推广|网站制作|网络推广|网站建设多个招聘网站格式不一致如何做招聘记录
  • 唐山制作网站公司北京快三平台
  • 手机模板网站模板下载网站网站打开速度太慢
  • 可以做装修效果图的网站有哪些手机网站建设解决方案
  • 临沭县住房和城乡建设局网站一家专门做特卖的网站是什么
  • 网站怎么查哪家公司做的代理网页游戏代理
  • 类似谷德设计网的网站怎么免费增加网站流量吗
  • 网站后台认证码更新网站 是否要重启iis
  • 网站后台管理系统软件广州app开发
  • 国外h5制作网站模板查询域名注册网站
  • 做企业网站所要注意什么宣城公司网站建设
  • 不干净的软件下载网站多语言网站模板
  • 怎么做网站优化排名做翻译的网站
  • 网站后台账户如何做会计分录wordpress分页代码
  • 吉林省住房建设安厅网站安全管理高校建设网站的特色
  • 南宁外贸网站建设腾讯企业邮箱浙江服务中心
  • 杭州网站建设商城价格php+mysql网站开发全程实例.pdf
  • 网站织梦wordpress封面外链
  • 济南建网站的网站网站备案 不备案
  • 营销型网站维护多少钱设计说明500字通用
  • 3322网建站广东新闻频道直播