2 回答
TA贡献1811条经验 获得超4个赞
anonymousAuthentication:true当我设置时它起作用launchSettings.json:
"iisSettings": {
"windowsAuthentication": true,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:62148",
"sslPort": 0
}
从asp.net core中Windows身份验证和CORS的介绍,我将startup.cs更改如下:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(IISDefaults.AuthenticationScheme);//Add this line
services.AddCors(c =>
{
c.AddPolicy("AllowOrigin",
options => options
//.AllowAnyOrigin()
.WithOrigins("http://localhost:4200")
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()//Add this line
);
});
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
.AddJsonOptions(options =>
{
var resolver = options.SerializerSettings.ContractResolver;
if (resolver != null)
(resolver as DefaultContractResolver).NamingStrategy = null;
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseCors("AllowOrigin");
app.UseMvc();
}
}
TA贡献1780条经验 获得超5个赞
我是 .Net Core 的新手,在使用 Windows 身份验证时遇到类似的问题。我检查了很多帖子,但没有一个提供解决方案。通过 MVC 4 或 5 对 applicationhost.config 的更改解决了类似的问题。
我发现如果我更改端口,应用程序将以调试模式启动,并且窗口身份验证将正常工作。第二次启动该应用程序时,我会收到 401.1 或 401.2 错误。
从那以后我改用 Chrome 进行开发,它似乎工作得很好。这并不理想,因为我们的企业用户基础是 IE 或 Edge。
- 2 回答
- 0 关注
- 163 浏览
添加回答
举报