簡體   English   中英

Blazor ServerApp Azure b2C - 如何允許匿名訪問網站並且不顯示 SigninSignUp B2C 登錄頁面 web 開始

[英]Blazor ServerApp Azure b2C - how to Allow Anonymous Access To Website and not display SigninSignUp B2C Login page on web start

對於 Blazor Server App AD B2C 初學者的一個有用問題

在哪里以及如何配置或以編程方式更改 blazor 服務器應用程序上 Azure B2c 的默認開箱即用行為 - 以允許匿名訪客訪問網站而無需網站重定向到 SignInSignUp B2CLogin 頁面?

概括

  1. Ad B2C - 默認行為是點擊 f5 運行登錄頁面顯示。
  2. 期望的行為:允許匿名訪問和安全授權訪問

研究

在花了一段時間研究 AD B2C 並試用 razor 和 .net 應用程序后,它很好而且非常棒 - 這個問題真的只發生並且與 Blazor Server App + AD b2C 有關。 我一直在編寫 Blazor 服務器應用程序並且玩得很開心,但這是第一次使用 auth 和 AD B2C,因此在指南中肯定會忽略很多注意事項,您必須找到它才能使其全部正常工作。

清晰度重現步驟

為了讓問題變得清晰,我將發布重現步驟和先決條件這是什么以及它是如何得出的——使用截至 2022 年 4 月可用的方法和技術。

技術

  • Blazor 服務器應用程序使用 VS022 和 .net 6 LTS with AZURE AD b2C

先決條件 Azure B2C

  • Azure AD B2C - 注冊應用
  • 身份提供者
  • Azure AD B2C - 用戶工作流

使用 VS2022.Net 6 LTS 創建和配置 Blazor 服務器應用程序的項目

Blazor 服務器應用項目

  • vs2022 > 新建項目:Blazor Server App
  • 身份驗證類型:Microsoft Identity Platform
  • 使用 do.net msidentity 工具向導配置 BlazorServer AppSettings。它在 AppSettings 中的默認設置。json 可以很好地測試 auth 訪問默認行為

默認行為:

期望的行為:

屬性

在 Program.cs 中

app.UseRouting();
app.UseAuthentication();
//app.UseAuthorization(); 

UseAuthorization 將觸發重定向到 Azure B2C 登錄頁面。 這可以被注釋掉,然后它將加載網站並允許匿名訪問並允許用戶點擊登錄 lnik 等。

有用資源: https://learn.microsoft.com/en-us/as.net/core/blazor/security/?view=as.netcore-6.0

在 Azure 的答案中找到 Directory to Blazor Server App Blazor using Azure AD authentication allowing anonymous access

感謝那些努力發布和回答如此精彩的人。

因此,同樣的方法適用於 Azure Directory B2C 和 low 是有意義的,而且它確實如此。

當我更好地理解我的問題時,我能夠使用更好的詞語來描述和搜索,並最終找到有效的東西——我確信這不是唯一的答案,而是它的第一個答案。

將以下內容添加到 _Hosts.cshtml

@using Microsoft.AspNetCore.Authorization
@attribute [AllowAnonymous]

要保護 .razor 頁面,只需在頂部添加一個 Authorize 屬性:

@attribute [Authorize]

所以現在如果您嘗試訪問計數器頁面,您將收到一條未授權消息。

開發者如果還有其他的請添加它們。 非常感謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM