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

天河建设网站多少钱wordpress分页效果

天河建设网站多少钱,wordpress分页效果,免费法律咨询24小时在线,win7 做网站好吗1.需求 在node后端中,想实现一个专门鉴权的文件配置,可以这样来解释 就是 有些接口需要token调用接口,有些接口不需要使用token 调用 这期来详细说明一下 什么是中间件中间件顾名思义是指在请求和响应中间,进行请求数据的拦截处理&#xf…

1.需求

在node后端中,想实现一个专门鉴权的文件配置,可以这样来解释 就是 有些接口需要token调用接口,有些接口不需要使用token 调用 

这期来详细说明一下

     什么是中间件中间件顾名思义是指在请求和响应中间,进行请求数据的拦截处理,数据校验,并且进行逻辑处理后判断是否允许进入下一个中间件。中间件分为前缀中间件,后置中间件。可以用于权限认证。日志记录等

2.cool 中的中间件

cool 官方的说明文档

控制器(Controller) | COOL官网

3.用户鉴权问题

import { App, Config, Inject, Middleware } from '@midwayjs/decorator';
import * as _ from 'lodash';
import { RESCODE } from '@cool-midway/core';
import * as jwt from 'jsonwebtoken';
import { NextFunction, Context } from '@midwayjs/koa';
import { IMiddleware, IMidwayApplication } from '@midwayjs/core';
import { CacheManager } from '@midwayjs/cache';/*** 权限校验*/
@Middleware()
export class BusinessAuthorityMiddlewareimplements IMiddleware<Context, NextFunction>
{@Config('koa.globalPrefix')prefix;@Config('module.business')jwtConfig;@Inject()cacheManager: CacheManager;@App()app: IMidwayApplication;resolve() {return async (ctx: Context, next: NextFunction) => {let statusCode = 200;let { url } = ctx;url = url.replace(this.prefix, '');const token = ctx.get('Authorization');const adminUrl = '/app/';//忽略token验证的urlconst ignoreUrls = [];// 路由地址为 /app/前缀的 需要权限校验if (_.startsWith(url, adminUrl)) {try {ctx.admin = jwt.verify(token, this.jwtConfig.jwt.secret);} catch (err) {}// 不需要登录 无需权限校验if (new RegExp(`^${adminUrl}?.*/open/`).test(url) ||ignoreUrls.includes(url)) {await next();return;}if (ctx.admin) {const rToken = await this.cacheManager.get(`business:token:${ctx.admin.userId}`);// 要登录每个人都有权限的接口if (new RegExp(`^${adminUrl}?.*/comm/`).test(url)) {await next();return;}// 如果传的token是refreshToken则校验失败if (ctx.admin.isRefresh) {ctx.status = 401;ctx.body = {code: RESCODE.COMMFAIL,message: '(1)登录失效~',};return;}// 判断密码版本是否正确const passwordV = await this.cacheManager.get(`business:passwordVersion:${ctx.admin.userId}`);if (passwordV != ctx.admin.passwordVersion) {ctx.status = 401;ctx.body = {code: RESCODE.COMMFAIL,message: '(2)登录失效~',};return;}if (!rToken) {ctx.status = 401;ctx.body = {code: RESCODE.COMMFAIL,message: '(3)登录失效或无权限访问~',};return;}} else {statusCode = 401;}if (statusCode > 200) {ctx.status = statusCode;ctx.body = {code: RESCODE.COMMFAIL,message: '(4)登录失效或无权限访问~',};return;}}await next();};}
}

http://www.yayakq.cn/news/259158/

相关文章:

  • 介绍做燕窝的网站seo搜索引擎优化费用
  • 高端服装产品网站建设开软件外包公司赚钱吗
  • apache建设网站旅游网站建设的规模设想
  • 网站建设与维护的卷子oa系统全称
  • 制作网站开发用的图片国外哪个网站做服装
  • 只用html5可以做网站吗做网站获取手机号码
  • 宁波哪里可以做网站河北住房和城乡建设厅网站首页
  • 网站横向菜单wordpress评论验证码
  • 漳州网站建设优化太原建设局网站
  • 网站建设与维护相关知识手机版制作app软件
  • 柳州市住房和城乡建设部网站wordpress 插件放在那
  • 桥梁建设杂志有假网站吗校园网站如何管理
  • 福州手游网站建设晋江论坛怎么贴图
  • 更改网站后台网站建设属于什么经营范围
  • 做ppt的软件怎样下载网站h5免费制作平台易企秀官方
  • 和幼儿做网站爱聊城企业门户网站建设
  • wordpress更好杭州seo排名
  • 如何在国内做网站专做蔬菜水果的网站
  • pc端购物网站建站南宁网站排名优化公司哪家好
  • 站长做什么网站赚钱做跨境电商有没推荐的网站
  • 网站建设支付方式知名的网站建设公司排名
  • 浦东教育网站官网软件开发平台介绍
  • 十里河网站建设工业设计相关网站
  • 深圳品牌建网站内蒙古住房与城乡建设厅网站网址
  • 企业网站建设存在的问题及建议seo推广代理
  • 广州 骏域网站建设做网站时可以切换语言的
  • 济南建设信用网站惠州网站建设服务商
  • 一台服务器可以做几个网站廊坊网络营销
  • 视频网站备案淄博手机网站建设报价
  • 自学网站搭建济南网站建设那家好