第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

.NET Core Web API / Angular 應(yīng)用程序中的 Windows 身份驗證

.NET Core Web API / Angular 應(yīng)用程序中的 Windows 身份驗證

C#
慕桂英546537 2023-07-09 17:26:09
我正在使用 Visual Studio 2019 Community 構(gòu)建一個 Intranet 應(yīng)用程序,用于創(chuàng)建 .NET Core Web Api(使用 .NET Core 2.2),并使用 Visual Studio Code 來創(chuàng)建 Angular 前端(@angular/cdk 7.1.0、@angular/cli 7.0) .6,@角度/材料7.1.0)。由于它是一個 Intranet 應(yīng)用程序,我想實現(xiàn) Windows 身份驗證,以便用戶不必再次輸入其憑據(jù)。我聲明我已經(jīng)嘗試過這個和其他論壇但沒有成功,我對這些技術(shù)不是很熟悉,所以我需要幫助來解決我遇到的一些問題,我可能不明白 CORS 是如何工作的。我也嘗試從郵遞員調(diào)用我的 Web API(默認設(shè)置=“授權(quán):從父級繼承身份驗證”...),但結(jié)果相同。我已經(jīng)從 NuGet 安裝了 Microsoft.AspNetCore.Cors 并實現(xiàn)了以下代碼。在 Web API 方面,我有這段代碼。啟動設(shè)置.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條經(jīng)驗 獲得超4個贊

anonymousAuthentication:true當我設(shè)置時它起作用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條經(jīng)驗 獲得超5個贊

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

我發(fā)現(xiàn)如果我更改端口,應(yīng)用程序?qū)⒁哉{(diào)試模式啟動,并且窗口身份驗證將正常工作。第二次啟動該應(yīng)用程序時,我會收到 401.1 或 401.2 錯誤。

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


查看完整回答
反對 回復 2023-07-09
  • 2 回答
  • 0 關(guān)注
  • 211 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號