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

好看的响应式网站到底什么才是网络营销

好看的响应式网站,到底什么才是网络营销,国家建设部官方网站,wordpress socket1.需求 在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/569329/

相关文章:

  • 黑龙江企业网站设计团队网站建设教程 mysql
  • 做户外旅游网站竞争对手网站
  • 建设保护动物网站的素材北京南站地图
  • 免费自助建站哪个平台好c2c的盈利模式
  • 杭州倍世康 做网站凌云seo博客
  • 黄岐建网站组织部建设网站示范材料
  • 博客 建立网站舟山网站seo
  • 精品课程网站设计与实现怎么做直播网站超管
  • 常见网站结构有哪些ysl免费网站建设
  • 瑞丽市建设局网站企业网站建站程序
  • 建湖网站建设公司郑州做网站比较好的公司
  • 如何做音乐网站温州网站域名注册服务公司
  • 编程网站开发培训中国新闻社百度百科
  • 做影视网站如何通过备案刷赞网站推广qq免费
  • 营销型网站 平台做网站需要注意哪些
  • 西安建设网站公司彩票网站 建设
  • 黄页广告网站网站黑链 工具
  • 浙江网站建设技术公司0基础网站建设教程视频教程
  • 做外贸如何建立网站平台网站管理助手未找到iis
  • 西安网站建设huanxi沈阳网站建设求职简历
  • 途牛网站建设的基本特点HTML怎么做网站目录
  • 临沂网站建设wyjzgzs百度seo排名优化公司推荐
  • 长沙培训网站建设旅游网站建设规模
  • 走出趣网站怎么做西安做网站的公司哪家好
  • 网站创建需要什么杨庄网站建设
  • 大型门户网站设计重庆直播网站平台建设
  • 英文网站源码虚拟主机 wordpress
  • 网站建设的主要工作内容企业文化ppt模板免费
  • 唐山网站建设公司印刷厂网站建设
  • 门户网站盈利模式番禺网站建设优化