首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

带有Angular 6- Chrome连续登录提示的Asp.Net Core2.1中的Windows身份验证

在Asp.Net Core2.1中,可以使用Windows身份验证来实现对用户的身份验证和授权。当使用Angular 6和Chrome进行连续登录时,可能会遇到提示要求重新登录的问题。这是由于Chrome的安全策略导致的,它会在每个请求中发送一个新的身份验证凭证。

为了解决这个问题,可以尝试以下方法:

  1. 使用Angular的HttpClient模块,在每个请求的头部添加withCredentials: true选项,以便在每个请求中发送凭证。示例代码如下:
代码语言:txt
复制
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);
}
  1. 在Asp.Net Core的Startup类中,配置CORS(跨域资源共享)以允许来自Angular应用的请求。示例代码如下:
代码语言:txt
复制
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...
}
  1. 在Asp.Net Core的Controller中,使用[Authorize]特性来标记需要进行身份验证的API端点。示例代码如下:
代码语言:txt
复制
[Authorize]
[ApiController]
[Route("api/[controller]")]
public class DataController : ControllerBase
{
    // API endpoints...
}

这样配置后,Angular应用在每个请求中都会发送凭证,并且服务器会对凭证进行验证和授权。这样就可以解决Chrome连续登录提示的问题。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云服务器(CVM):提供可扩展的云服务器实例,支持多种操作系统和应用场景。详情请参考腾讯云服务器
  • 腾讯云数据库(TencentDB):提供高性能、可扩展的数据库服务,包括云数据库MySQL、云数据库MariaDB、云数据库SQL Server等。详情请参考腾讯云数据库
  • 腾讯云CDN(Content Delivery Network):提供全球加速、高可用的内容分发网络服务,加速静态和动态内容的传输。详情请参考腾讯云CDN

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券