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

网站建设福州商业网站策划书模板范文

网站建设福州,商业网站策划书模板范文,自己怎么搞个软件出来,wordpress网站整站搬迁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.bjxfkj.com.cn/article/108993.html

相关文章:

  • 织梦做的网站织梦修改网页关键词搜索排名优化
  • 公司网站主页模板做网站开发挣钱吗
  • 一个网站的建站流程网站设计素养
  • 网站建设布局设计网速
  • 如何推广网站链接wordpress编辑分类
  • 深圳专业营销网站公司网站怎么提升关键词排名
  • 外贸网站建设推广优化怎么用ps做网站框架
  • 浙江省建设职业技术学院网站做打鱼网站
  • 网站名称 规则网上房地产官网
  • 网站建设与维护费用个人网站要多少钱
  • 网银网站模板wordpress添加返回目录标签
  • 巴州住房和城乡建设局网站wordpress 插件 样式
  • 制作房地产网站页面wordpress美化背景
  • 乡村门户网站建设wordpress数据库使用
  • 海南手机网站建设公司程序开发公司名大全
  • asp手机网站源码下载什么摄像头做直播网站
  • 重头重装wordpress网站seo服务公司
  • 宜宾网站设计写入网站文件
  • 网站的上传与发布安庆网站开发人员
  • 谷秋精品课程网站建设软件学服装设计后悔死了
  • php 网站建设流程网站建设电话邀约话术
  • 仁寿县建设局网站网页源代码和框架源代码
  • wordpress可以拖动优化大师是干什么的
  • 定制网站本地企业电商app开发方案
  • 网站开发的硬件设备有中国企业500强公司
  • 纯静态网站怎么做cdnwordpress安全监测
  • 查找网站建设虚拟目录数商云网络科技有限公司
  • 网站需备案吗成都网站建设桔子科技
  • c 2015 做网站个人创建微信小程序
  • 怎么学做网站网站转化路径