一个 .net 8 + Azure 登录 + Ant Design Blazor 的基本后台框架
主界面使用了 Ant Design Blazor 项目模板搭建
后台技术是 .net 8 Blazor run at server 模式
登录方式使用 Azure
实现了菜单导航和路由
此外实现了读取和修改本地Json文件的功能,不是必须的,不需要的可以拿掉,我是自己项目需要
由于没有对权限进行细分,所以没有做菜单的权限控制,基本上有 Azure 账户就能登录进来,如果要细分,也很简单,就是在 Azure 的 Claims 里做文章,这里也不说了
Azure 登录的关键代码在 BasicLayout.razor,这点跟传统的登录以后再跳转有些不一样
- @namespace Bestrane.OPS.Web
- @inherits LayoutComponentBase
- @inject NavigationManager _navigationManager
-
"@typeof(Program).Assembly"> -
"routeData"> -
-
-
"@("https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg")" - MenuData="_menuData">
-
-
-
-
- @Body
-
-
-
"2024 BOPS" Links="Links"> -
-
-
-
-
- class="main__b__0">
- class="login">
-
"BOPS" Style="width:300px;"> -
-
- Azure Login
-
-
-
-
-
-
-
-
-
-
-
- @code
- {
- public void HandleSubmit()
- {
- _navigationManager.NavigateTo("MicrosoftIdentity/Account/SignIn", true);
- }
-
- private MenuDataItem[] _menuData = { };
-
- [Inject] public HttpClient? _httpClient { get; set; }
-
- protected override async Task OnInitializedAsync()
- {
- await base.OnInitializedAsync();
- _menuData = await _httpClient.GetFromJsonAsync
("data/menu.json"); - }
-
- public LinkItem[] Links { get; set; } = new LinkItem[] { };
- }