我即將開始使用 Blazor Webassembly (net 6.0) 構建一個新的在線系統,這將要求用戶在使用任何功能之前登錄。
我目前正在嘗試確定處理身份驗證和授權的最佳方法。以前,在設定新的 Blazor 專案時,我通過選擇“個人用戶帳戶”選項使用內置身份驗證,然后在服務器專案上搭建 razor 頁面。我喜歡這個選項,因為它使用 IdentityServer,這對我來說感覺是一個更安全的選擇,因為我當然不是安全專家。但是,作為這個新系統的一部分,某些用戶將需要能夠管理他們自己公司內的其他用戶,我真的不想將他們發送到剃須刀頁面來執行此操作,因為我正在使用組件客戶端的庫(Radzen),客戶端和服務器之間的外觀和感覺會不一致。
我從 Chris Sainty 那里找到了一個很棒的教程,它可以讓我自己設定身份驗證和授權,但我懷疑如果我走這條路它是否足夠安全。
我想我的問題將幫助我決定任何一種方式:
- 是否可以在 ASP.NET Core 托管專案上使用像 Radzen 這樣的 Blazor 組件庫?
- 如果沒有,是否可以使用 Razor 組件在客戶端創建用戶管理頁面,并以某種方式讓這些頁面與設定的服務器端進行通信?我需要管理員用戶才能創建、更新和洗掉用戶。
- 最后,如果上述兩個選項都不可能,在我自己設定身份驗證和授權以確保系統盡可能安全時,是否有什么特別需要考慮的?
謝謝。
uj5u.com熱心網友回復:
是否可以在 ASP.NET Core 托管專案上使用像 Radzen 這樣的 Blazor 組件庫?
是的,您可以在 Razor Pages 頁面中嵌入 Razor 組件。
是否可以創建用戶管理頁面客戶端
是的,它是……但是你采取的任何安全措施都變得毫無用處。永遠不要做這樣的事情。相反,在 Asp.Net Core Server 專案(托管,對嗎?)上創建用戶管理頁面,然后將用戶從 Blazor 頁面導航到這些頁面。您可以在這些頁面中嵌入 Radzen 組件(Razor 組件)。
最后,如果上述兩個選項都不可能,在我自己設定身份驗證和授權以確保系統盡可能安全時,是否有什么特別需要考慮的?
我不建議選擇這條路。這是困難、危險和無效的。使用現有系統。
據我所知,您的問題是用戶界面的外觀,對嗎?在這種情況下,您可以構建諸如 Login.cshtml 之類的頁面,并讓它們看起來像一個 Radzen 組件。讓用戶相信他在同一個網站上導航并不難。這是我建議這樣做的方式。或者在這些頁面中嵌入 Radzen 組件,并使它們相互通信。
簡單的例子
假設您希望 Login.cshtml 看起來像是一個 Radzen 組件,并且 Radzen 套件包含一個 Login 組件(我不熟悉這些庫)。在這種情況下,您應該首先搭建 Login.cshtml 頁面,然后將 Radzen Login 組件嵌入到剛剛搭建的 Login Razor Pages 頁面中,或者,這應該容易得多,只需復制 Radzen 中使用的 CSS登錄組件,并在您的腳手架登錄頁面中使用它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/473342.html
標籤:验证 授权 西装外套 身份服务器4 blazor-webassembly
