server/aspnetapp/Middlewares/TokenCheckMiddleware.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using aspnetapp.Helper;
using aspnetapp.Models;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using System;
using System.Globalization;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace aspnetapp.Middlewares
{
public class TokenCheckMiddleware
{
private readonly RequestDelegate _next;
private IConfiguration Configuration { get; }
public TokenCheckMiddleware(IConfiguration configuration, RequestDelegate requestDelegate)
{
Configuration = configuration;
this._next = requestDelegate;
}
public Task Invoke(HttpContext context)
{
if (context == null)
{
return null;
}
StringComparison comp = StringComparison.OrdinalIgnoreCase;
string RequestPath = context.Request.Path;
if ((RequestPath == "/" || RequestPath.Contains("/Login", comp) || RequestPath.Contains("/api", comp) || RequestPath.Contains("/Manage", comp) || RequestPath.Contains("/Check", comp) || RequestPath.Contains("/Version", comp) || RequestPath.Contains("/info", comp)) && !RequestPath.Contains("/pwd", comp))
{
return _next.Invoke(context);
}
else
{
//string edestoken;
//context.Request.Cookies.TryGetValue("edes", out edestoken);
//if (!string.IsNullOrWhiteSpace(edestoken))
var userinfo = context.Session.GetObjectFromJson<SysUserEntity>("sysu") ?? new SysUserEntity();
if (!string.IsNullOrEmpty(userinfo.ShowName))
{
return _next.Invoke(context);
}
else
{
string ChaoUrl = "/Login/Chao?error=2";
//CultureInfo culture;
// Use standard numeric format specifiers.
//culture = CultureInfo.CreateSpecificCulture("eu-ES");
//string NginxVirtualPath = Configuration["sys:NginxVirtualPath"];
//if (!string.IsNullOrEmpty(NginxVirtualPath))
//{
// ChaoUrl = NginxVirtualPath + ChaoUrl;
//}
return context.Response.WriteAsync(string.Format("<script language=javascript>window.location.href='{0}';</script>", ChaoUrl));
}
//// 先从Url取token,如果取不到就从Form表单中取token
//var token = context.Request.Query["token"].ToString() ?? context.Request.Form["token"].ToString();
后面还有 29 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。