Merge branch 'develop' into 'release'

Develop

See merge request yescent/yes.blog!5
This commit is contained in:
2025-05-07 02:34:42 +00:00
5 changed files with 33 additions and 6 deletions

View File

@@ -30,9 +30,9 @@ namespace Yes.Blog
services.AddAuthorization(); services.AddAuthorization();
builder.Services.AddEndpointsApiExplorer(); services.AddEndpointsApiExplorer();
builder.Services.AddOpenApi(options => services.AddOpenApi(options =>
{ {
options.AddDocumentTransformer((document, context, cancellationToken) => options.AddDocumentTransformer((document, context, cancellationToken) =>
{ {

View File

@@ -1,4 +1,4 @@
using Yes.Blog.Endpoints.Admins; 
namespace Yes.Blog.Endpoints.Blogs namespace Yes.Blog.Endpoints.Blogs
{ {

View File

@@ -1,4 +1,6 @@
namespace Yes.Infrastructure.Authorizations using Microsoft.AspNetCore.Http.Extensions;
namespace Yes.Infrastructure.Authorizations
{ {
public static class AuthenticationExtensions public static class AuthenticationExtensions
{ {
@@ -16,10 +18,21 @@
options.Events.OnRedirectToAccessDenied = options.Events.OnRedirectToAccessDenied =
options.Events.OnRedirectToLogin = c => options.Events.OnRedirectToLogin = c =>
{ {
c.Response.StatusCode = StatusCodes.Status401Unauthorized; if(c.Request.GetDisplayUrl().Contains("/api"))
return Task.FromResult(Result.Error("请登录后操作!")); {
c.Response.ContentType = "application/json";
c.Response.StatusCode = StatusCodes.Status401Unauthorized;
return Task.FromResult(Result.Error("请登录后操作!"));
}
else
{
c.Response.Redirect(c.RedirectUri);
return Task.CompletedTask;
}
}; };
}); });
return services; return services;
} }

View File

@@ -5,5 +5,7 @@
public const string MerchanScheme = "merchan"; public const string MerchanScheme = "merchan";
public const string UserScheme = "user"; public const string UserScheme = "user";
public const string UserApiScheme = "userapi";
} }
} }

View File

@@ -0,0 +1,12 @@
namespace Yes.Infrastructure.Authorizations.User
{
public class UserApiAuthorizeAttribute : AuthorizeAttribute
{
public UserApiAuthorizeAttribute()
{
AuthenticationSchemes = AuthenticationScheme.UserApiScheme;
}
}
}