美文网首页
nestjs守卫

nestjs守卫

作者: 简爱_cdde | 来源:发表于2023-02-05 16:40 被阅读0次

    守卫是一个使用@injectable装饰器的类,守卫应该实现canactivate接口

    创建守卫

    接收单个参数,executionContext 实例,exectuion继承子argumentsHost,argumenthost是传递给原始处理程序的参数的包装器,

    守卫有一个单独的作用,他们根据运行时出现的某些条件,如:权限、角色、访问控制列表来确定给的请求是否由路由处理程序处理。这通常称为授权。

    绑定守卫:

    通过@UseGuards装饰器绑定

    绑定守卫

    守卫使用的范围

    控制器守卫:

    可控制器守卫

    方法守卫

    方法守卫

    全局守卫

    全局守卫

    根模块的依赖注入的方式,将守卫作为根模块的提供者注入到整个程序

    指明守卫的依赖注入关系使其称为真正的全局守卫

    守卫实战:

    1、通过setMetadata设置当前这个路由的元数据,也就是在服务器端设置好当前路由的可访问权限。

    2、通过canActivate方法的 context参数获取当前路由的上下文,也就是请求和响应

    通过获取当前路由的元数据和请求的参数进行对比。判断当前请求是否可以访问当前路由

    通过返回值的true和false来进行判断

    相关文章

      网友评论

          本文标题:nestjs守卫

          本文链接:https://www.haomeiwen.com/subject/wrfzhdtx.html