码迷,mamicode.com
首页 > Web开发 > 详细

WebAuthorize

时间:2019-08-27 00:26:47      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:odi   postman   color   add   身份认证   config   cat   request   static   

一、WebAuthorize

1、项目名称 WebAuthorize

技术图片

2、加个中间件 过滤请求。

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace WebAuthorize
{
    public static class AuthorizeExtensio
    {
        public static void AddAuthorize(this IApplicationBuilder applicationBuilder)
        {
            applicationBuilder.Use(async (currentContext, nextContext) =>
            {
                if (currentContext.Request.Headers.ContainsKey("Authorization"))
                {
                    var authorize = currentContext.Request.Headers["Authorization"].ToString();
                    if (authorize.Contains("Basic"))//如果是Basic 身份认证
                    {
                        var info = authorize.Replace("Basic ", string.Empty);
                        var bytes = Convert.FromBase64String(info);//反解析Basic 64
                        var contents = Encoding.Default.GetString(bytes);
                        var dd = contents.Split(":").ToArray();
                        var userName = dd[0];//用户名
                        var userPwd = dd[1];//密码
                        if (userName == "GeBiLaoWang" && userPwd == "123456")
                        {
                            await currentContext.Response.WriteAsync("验证通过").ConfigureAwait(true); //Response.WriteAsync() 需要引用 Microsoft.AspNetCore.Http;
                            await nextContext?.Invoke();
                            return;
                        }
                    }
                }
                currentContext.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
                await currentContext.Response.WriteAsync("See tou tomorrow!").ConfigureAwait(true);
            });
        }
    }
}

技术图片

 3、修改配置文件

            //添加服务
            app.AddAuthorize();
            app.Run(async (context) =>
            {
                await context.Response.WriteAsync("Hello World!").ConfigureAwait(true);
            });

技术图片

 准备配置请求测试

1、直接访问技术图片

2、配置身份认证信息

技术图片

技术图片

在Authorzation下选 basic Auth, 并把用户名和密码填好

 点一下”Preveiw Request ” PostMan会自动生成请求信息。然后转到Headers下

技术图片

3、测试

技术图片

 

WebAuthorize

标签:odi   postman   color   add   身份认证   config   cat   request   static   

原文地址:https://www.cnblogs.com/fger/p/11415772.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!