*.Web.Host项目没有登录页面,重定向到 Swagger的位置。
您应该将您的启动项目更改为*.Web.Mvc:
如果您只想登录,请考虑使用浏览器控制台中的Swagger 身份验证助手:
abp.swagger.login();
要回答您的问题,您可以通过恢复 commit 重新启用身份验证重定向92b6270
:
// What it was (and what you want)
services.AddAuthentication()
.AddJwtBearer(options =>
// What it is
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = "JwtBearer";
options.DefaultChallengeScheme = "JwtBearer";
}).AddJwtBearer("JwtBearer", options =>
启动.cs:
app.UseAuthentication();
app.UseJwtTokenMiddleware(); // Add this back
app.UseAbpRequestLocalization();
需要明确的是,这会重定向到一个空白页面,因为*.Web.Host项目没有登录页面。
这与来自 API 而不是 redirect的 ABP 401 响应中的预期行为相反。
此外,您可以为重定向配置登录路径:
您可以在Startup.cs中进行配置:
IdentityRegistrar.Register(services);
AuthConfigurer.Configure(services, _appConfiguration);
// Add this line:
services.ConfigureApplicationCookie(options => options.LoginPath = "/Admin/Login");
相关文档:https ://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/identity-2x