在Asp.Net Core2.1中,可以使用Windows身份验证来实现对用户的身份验证和授权。当使用Angular 6和Chrome进行连续登录时,可能会遇到提示要求重新登录的问题。这是由于Chrome的安全策略导致的,它会在每个请求中发送一个新的身份验证凭证。
为了解决这个问题,可以尝试以下方法:
withCredentials: true
选项,以便在每个请求中发送凭证。示例代码如下:import { HttpClient } from '@angular/common/http';
constructor(private http: HttpClient) { }
getData() {
const url = 'https://your-api-url';
const options = { withCredentials: true };
return this.http.get(url, options);
}
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowAngularApp", builder =>
{
builder.WithOrigins("https://your-angular-app-url")
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
});
});
// Other configurations...
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseCors("AllowAngularApp");
// Other configurations...
}
[Authorize]
特性来标记需要进行身份验证的API端点。示例代码如下:[Authorize]
[ApiController]
[Route("api/[controller]")]
public class DataController : ControllerBase
{
// API endpoints...
}
这样配置后,Angular应用在每个请求中都会发送凭证,并且服务器会对凭证进行验证和授权。这样就可以解决Chrome连续登录提示的问题。
推荐的腾讯云相关产品和产品介绍链接地址:
请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云