2 回答

TA貢獻(xiàn)1802條經(jīng)驗 獲得超10個贊
ASP.NET Core 不使用 Web.config,即使使用了,它也不使用機(jī)器密鑰。加密是通過數(shù)據(jù)保護(hù) API處理的,它以完全不同的方式存儲和生成密鑰。
如果您需要在 ASP.NET 和 ASP.NET Core 之間共享諸如 cookie 之類的東西,則必須以相反的方式工作并將數(shù)據(jù)保護(hù) API 插入到您的 ASP.NET 應(yīng)用程序中,以便它們使用與 ASP 相同的系統(tǒng)。 NET 核心。微軟有一個指南。

TA貢獻(xiàn)1821條經(jīng)驗 獲得超6個贊
嗯,這有點取決于你在做什么。如果您的項目使用 Microsoft Identity,則 Identity 默認(rèn)使用機(jī)器密鑰作為哈希的一部分。因此,就我而言,我的網(wǎng)站會發(fā)送一封電子郵件,要求用戶驗證他們的電子郵件。該鏈接包括基本上是加密的密碼哈希 - 部分 - 使用來自它的服務(wù)器的機(jī)器密鑰。
因此,如果用戶單擊該鏈接,然后在場中的另一臺服務(wù)器上結(jié)束,則驗證檢查將失敗,除非在負(fù)載均衡器后面的各個服務(wù)器上將機(jī)器密鑰設(shè)置為相同。
所以在這一點上我還沒有找到在發(fā)布到 IIS 時設(shè)置機(jī)器密鑰的好方法。web.config 是在從我的 ASP.NET 核心項目發(fā)布期間自動生成的。此時我找到的唯一解決方案是在發(fā)布項目后手動打開 web.config 并在部署到場中的服務(wù)器之前插入機(jī)器密鑰部分。
- 2 回答
- 0 關(guān)注
- 211 瀏覽
添加回答
舉報