亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

.NET Core Web API / Angular 應用程序中的 Windows 身份驗證

.NET Core Web API / Angular 應用程序中的 Windows 身份驗證

C#
慕桂英546537 2023-07-09 17:26:09
我正在使用 Visual Studio 2019 Community 構建一個 Intranet 應用程序,用于創建 .NET Core Web Api(使用 .NET Core 2.2),并使用 Visual Studio Code 來創建 Angular 前端(@angular/cdk 7.1.0、@angular/cli 7.0) .6,@角度/材料7.1.0)。由于它是一個 Intranet 應用程序,我想實現 Windows 身份驗證,以便用戶不必再次輸入其憑據。我聲明我已經嘗試過這個和其他論壇但沒有成功,我對這些技術不是很熟悉,所以我需要幫助來解決我遇到的一些問題,我可能不明白 CORS 是如何工作的。我也嘗試從郵遞員調用我的 Web API(默認設置=“授權:從父級繼承身份驗證”...),但結果相同。我已經從 NuGet 安裝了 Microsoft.AspNetCore.Cors 并實現了以下代碼。在 Web API 方面,我有這段代碼。啟動設置.json{  "$schema": "http://json.schemastore.org/launchsettings.json",  "iisSettings": {    "windowsAuthentication": true,    "anonymousAuthentication": false,    "iisExpress": {      "applicationUrl": "http://localhost:62148",      "sslPort": 0    }  },  "profiles": {    "IIS Express": {      "commandName": "IISExpress",      "launchBrowser": true,      "launchUrl": "api/values",      "environmentVariables": {        "ASPNETCORE_ENVIRONMENT": "Development"      }    },    "WebApiWinAuth": {      "commandName": "Project",      "launchBrowser": true,      "launchUrl": "api/values",      "applicationUrl": "http://localhost:5000",      "environmentVariables": {        "ASPNETCORE_ENVIRONMENT": "Development"      }    }  }}啟動.cspublic void ConfigureServices(IServiceCollection services){                services.AddCors(c =>    {        c.AddPolicy("AllowOrigin",            options => options                    .AllowAnyOrigin()                    //.WithOrigins("http://localhost:4200")                    .AllowAnyMethod()                    .AllowAnyHeader()                );    });    services.AddMvc()        .SetCompatibilityVersion(CompatibilityVersion.Version_2_2)        .AddJsonOptions(options =>        {            var resolver = options.SerializerSettings.ContractResolver;            if (resolver != null)                (resolver as DefaultContractResolver).NamingStrategy = null;        });}
查看完整描述

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();

? ? }

}


查看完整回答
反對 回復 2023-07-09
?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

我是 .Net Core 的新手,在使用 Windows 身份驗證時遇到類似的問題。我檢查了很多帖子,但沒有一個提供解決方案。通過 MVC 4 或 5 對 applicationhost.config 的更改解決了類似的問題。

我發現如果我更改端口,應用程序將以調試模式啟動,并且窗口身份驗證將正常工作。第二次啟動該應用程序時,我會收到 401.1 或 401.2 錯誤。

從那以后我改用 Chrome 進行開發,它似乎工作得很好。這并不理想,因為我們的企業用戶基礎是 IE 或 Edge。


查看完整回答
反對 回復 2023-07-09
  • 2 回答
  • 0 關注
  • 216 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號