欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

我的第一个netcore2.2 api项目搭建(二)

程序员文章站 2022-06-28 20:29:43
上一章快速添加了swagger文档管理功能,我的第一个netcore2.2 api项目搭建(二) 这一章实现目标二:api添加身份验证功能 在实现该目标之前,先得理解netcore运行机制。 这是微软提供的图,从图上可以看出,一个请求发出,逐个通过middleware,然后做出响应。这里的middl ......

上一章快速添加了swagger文档管理功能,我的第一个netcore2.2 api项目搭建(二)

这一章实现目标二:api添加身份验证功能

 

在实现该目标之前,先得理解netcore运行机制。

我的第一个netcore2.2 api项目搭建(二)

这是微软提供的图,从图上可以看出,一个请求发出,逐个通过middleware,然后做出响应。这里的middleware被称作中间件。而要添加安全验证,得在响应之前添加验证功能,那咱们就可以利用这点,添加一个在响应请求之前的中间件,这个中间件来实现验证功能,如果通过验证就响应请求,否则直接返回请求违法信息。在我看来这个中间级有点像mvc中过滤器。。

 

1.1添加一个空的中间件myautomiddleware

public class myautomiddleware
    {
        private readonly requestdelegate _next;

        public myautomiddleware(requestdelegate next)
        {
            _next = next;
        }

        public task invoke(httpcontext httpcontext)
        {
            return _next(httpcontext);
        }
    }

1.2启用中间件

我的第一个netcore2.2 api项目搭建(二)

在usermvc之前添加中间件,并在中间件上打上断点,f5运行

我的第一个netcore2.2 api项目搭建(二)

发现首先进入中间件,连按f5跳出,然后进入swagger主页,在values控制器的getusers方法上打上断点并执行swagger页面getusers api

我的第一个netcore2.2 api项目搭建(二)

发现首先进入中间件,f5过后进入getusers方法

我的第一个netcore2.2 api项目搭建(二)

我的第一个netcore2.2 api项目搭建(二)

到这一步,就可以看出请求被中间件劫持了,这时咱们就可以名正言顺的使用中间件进行验证了,验证的方式很多,什么identity,jwt,哪怕简单的session都可以。。

这里使用jwt做认证授权。

未完,待续。。。