一、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[];//用户名
var userPwd = dd[];//密码
if (userName == "GeBiLaoWang" && userPwd == "")
{
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、测试

最新文章

  1. AndroidStudio中创建Assets文件
  2. ios category,protocol理解
  3. p4 是否能自动merge
  4. 关于Handler与异步消息处理循环的摘抄
  5. bzoj 4199 [NOI2015]寿司晚宴
  6. JNDI在本项目中的应用
  7. bzoj 3261最大异或和
  8. 利用fastjson解析json并通过js&ajax实现页面的无跳转刷新
  9. 在Java中用 . 深层访问JSON数据
  10. 20175202 《Java程序设计》第六周学习总结
  11. spring boot 1.x配置,不断完善中
  12. Unity调试模式设置辅助线是否可见
  13. python的Web框架,html分页
  14. Gym 100096D Guessing game
  15. JDBC架构
  16. Swift3 页面顶部实现拉伸效果代码
  17. Spring Security和JWT实现登录授权认证
  18. 2018.09.08 bzoj1151: [CTSC2007]动物园zoo(状压dp)
  19. leading--Oracle hint
  20. Android逆向之旅---带你爆破一款应用的签名验证问题

热门文章

  1. cs231n assignment1 KNN
  2. Understanding the Module Pattern in JavaScript
  3. mysql的my.cnf参数详解
  4. 协议:FTP
  5. 【MongoDB】 windows下建立双机主从
  6. 自动化生成 Openstack 新项目开发框架
  7. RFC、EMCA-262、TC-39等名词
  8. 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第1节 Scanner类_4-练习一_键盘输入两个数
  9. Week 12 - 673.Number of Longest Increasing Subsequence
  10. GUI_FlowLayout