没有合适的资源?快使用搜索试试~ 我知道了~
中间件token验证,自定义返回消息
需积分: 0 0 下载量 68 浏览量
2024-05-17
16:24:22
上传
评论
收藏 11KB DOCX 举报
温馨提示
试读
3页
中间件token验证,自定义返回消息
资源推荐
资源详情
资源评论
为了通过中间件进行 Token 验证,并能够自定义返回信息,同时指定哪些接口需要进行 Token
令牌验证,我们可以采用以下方式实现。此示例将包括中间件实现、中间件的配置以及一个
示例控制器。
### 1. 自定义 Token 验证中间件
首先,创建一个中间件用于 Token 验证,并在验证失败时返回自定义信息。
```csharp
using Microsoft.AspNetCore.Http;
using Newtonsoft.Json;
using System.Linq;
using System.Threading.Tasks;
public class TokenValidationMiddleware
{
private readonly RequestDelegate _next;
private readonly PathString[] _pathsToCheck;
public TokenValidationMiddleware(RequestDelegate next, PathString[] pathsToCheck)
{
_next = next;
_pathsToCheck = pathsToCheck ?? new PathString[0];
}
public async Task InvokeAsync(HttpContext context)
{
if (_pathsToCheck.Any(path => context.Request.Path.StartsWithSegments(path)))
{
var token = context.Request.Headers["Authorization"].FirstOrDefault()?.Split("
").Last();
if (token == null || !IsValidToken(token))
{
context.Response.StatusCode = StatusCodes.Status401Unauthorized;
context.Response.ContentType = "application/json";
var response = new { message = "Token 验证失败" };
var jsonResponse = JsonConvert.SerializeObject(response);
await context.Response.WriteAsync(jsonResponse);
return;
}
}
await _next(context);
资源评论
zhangyuqi666
- 粉丝: 0
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功