Blazor WebAssembly 自定义用户登录进行授权

这篇具有很好参考价值的文章主要介绍了Blazor WebAssembly 自定义用户登录进行授权。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

主要是前面四步,第五步是需要授权验证画面的书写参数。

1. 引用 Microsoft.AspNetCore.Components.Authorization

2. Program.cs 加入:

            var builder = WebAssemblyHostBuilder.CreateDefault(args);
            builder.Services.AddAuthorizationCore();//There is no registered service of type 'Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider'
            builder.Services.AddSingleton<AuthenticationStateProvider, MyAuthenticationStateProvider>();

3.  MyAuthenticationStateProvider.cs 类

using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.Extensions.Logging;
using System;
using System.Net.Http;
using System.Net.Http.Json;
using System.Security.Claims;
using System.Threading.Tasks;

namespace UserLocalLogin
{
    public class MyAuthenticationStateProvider : AuthenticationStateProvider
    {
        

        public override async Task<AuthenticationState> GetAuthenticationStateAsync() => new AuthenticationState(await GetUser(useCache: true));

       

        private async ValueTask<ClaimsPrincipal> GetUser(bool useCache = false)
        {
         

            var identity = new ClaimsIdentity("Cookie");
            identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, "1"));
            identity.AddClaim(new Claim(ClaimTypes.Name,"wyz"));

            return new ClaimsPrincipal(identity);
        }
       
    }
}

4. App.razor 修改为

@using Microsoft.AspNetCore.Components.Authorization
 <CascadingAuthenticationState>
    <Router AppAssembly="@typeof(Program).Assembly">
        <Found Context="routeData">
            <AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
        </Found>
        <NotFound>
            <LayoutView Layout="@typeof(MainLayout)">
                <p>Sorry, there's nothing at this address.</p>
            </LayoutView>
        </NotFound>
    </Router>
</CascadingAuthenticationState>
 

5. 效果 index.razor文章来源地址https://www.toymoban.com/news/detail-860638.html

@page "/"
@using Microsoft.AspNetCore.Components.Authorization;
@using System.Security.Claims;
@*@using BlazorWasmCookieAuth.Shared.Authorization;*@
@using BlazorWasmCookieAuth.Client.Services;
<h1>Hello, world!</h1>

Welcome to your new app.

<SurveyPrompt Title="How is Blazor working for you?" />

<AuthorizeView>
    <Authorized>
        <strong>Hello, @context.User.Identity.Name !</strong>
    </Authorized>
    <NotAuthorized>
        <div>未登录</div>
        <button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
    </NotAuthorized>
</AuthorizeView>

@code {


    private int currentCount = 0;

    private void IncrementCount()
    {
        currentCount++;
    }
 
}

到了这里,关于Blazor WebAssembly 自定义用户登录进行授权的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Blazor HyBrid 授权讲解

    本文介绍 ASP.NET Core 对 Blazor Hybrid 应用中的安全配置和管理及 ASP.NET Core Identity 的支持。 Blazor Hybrid 应用中的身份验证由本机平台库处理,因为后者提供了浏览器沙盒无法给予的经过增强的安全保证。 本机应用的身份验证使用特定于操作系统的机制或通过联合协议,如 OpenID

    2024年02月07日
    浏览(26)
  • Blazor入门100天 : 身份验证和授权 (1) - 建立带身份验证工程

    目录 建立默认带身份验证 Blazor 程序 角色/组件/特性/过程逻辑 DB 改 Sqlite 将自定义字段添加到用户表 脚手架拉取IDS文件,本地化资源 freesql 生成实体类,freesql 管理ids数据表 初始化 Roles,freesql 外键 = 导航属性 完善 freesql 和 bb 特性 知识点 Microsoft.AspNetCore.Identity EntityFramework Sql

    2024年02月05日
    浏览(64)
  • Blazor Wasm Gitee 码云登录

    目录: OpenID 与 OAuth2 基础知识 Blazor wasm Google 登录 Blazor wasm Gitee 码云登录 Blazor SSR/WASM IDS/OIDC 单点登录授权实例1-建立和配置IDS身份验证服务 Blazor SSR/WASM IDS/OIDC 单点登录授权实例2-登录信息组件wasm Blazor SSR/WASM IDS/OIDC 单点登录授权实例3-服务端管理组件 Blazor SSR/WASM IDS/OIDC 单点

    2024年02月22日
    浏览(35)
  • .NET 8新预览版本使用 Blazor 组件进行服务器端呈现

    此预览版添加了对使用 Blazor 组件进行服务器端呈现的初始支持。这是 Blazor 统一工作的开始,旨在使 Blazor 组件能够满足客户端和服务器端的所有 Web UI 需求。这是该功能的早期预览版,因此仍然受到一定限制,但我们的目标是无论选择如何构建应用,都能使用可重用的 Bla

    2023年04月12日
    浏览(25)
  • 支付宝小程序获取用户授权并进行认证登录流程(前端)

    1.1申请获取用户信息能力     登录功能做之前要先沟通好客户的需求,支付宝小程序获取用户授权调用相应的接口之前要先获得对应的能力。如果需要获取身份证号、手机号、姓名,则需要登录支付宝开放平台,登录企业账号后,在控制台–能力管理–添加“获取会员信

    2024年02月11日
    浏览(36)
  • 小试Blazor——实现Ant Design Blazor动态表单

    前言 最近想了解下Blazor,于是尝试使用Blazor写一个简单的低代码框架,于是就采用了Ant Design Blazor作为组件库 低代码框架在表现层的第一步则是动态表单,需要将设计时的结构渲染成运行时的表单,本次主要实现动态表单,相关数据接口都以返回固定数据的形式实现 实现

    2024年02月10日
    浏览(33)
  • C# Blazor 学习笔记(5):blazor文件夹组件引入

    为了更好的组件化管理整个文件,我选择使用分文件夹对项目组件进行分类。 Shared:Layout布局空间放置地方,由于默认创建,动也不好动,我就不动这个名称了,原本想改成Layout的 Pages:业务页面 Components:自定义组件文件 我创建了B_Col和B_Row两个组件。因为我怕我的命名和

    2024年02月14日
    浏览(31)
  • Blazor UI库 Bootstrap Blazor 快速上手 (v7.5.7)

    最近组件库更新比较频繁,有些同学感觉有点迷茫,就着今天刚上了张老板一节课立马撸个新的上手教程回馈社区, ;- 增加主题样式表到 Pages/_Host.cshtml 文件中 删除 link rel=\\\"stylesheet\\\" href=\\\"css/bootstrap/bootstrap.min.css\\\" / 并在下面添加两行 添加 Javascript 引用到 Pages/_Host.cshtml 文件中 在

    2023年04月27日
    浏览(28)
  • 开源Blazor UI组件库精选:让你的Blazor项目焕然一新!

    今天给大家推荐一些开源、美观的Blazor UI组件库,这些优秀的开源框架和项目不仅能够帮助开发者们提高开发效率,还能够为他们的项目带来更加丰富的用户体验。 注:排名不分先后,都是十分优秀的开源框架和项目 Ant Design Blazor 是一个基于 Blazor 的前端 UI 组件库,它是

    2024年02月15日
    浏览(26)
  • C# Blazor 学习笔记(0.1):如何开始Blazor和vs基本设置

    Blazor简单来说就是微软提供的.NET 前端框架。使用 WebAssembly的“云浏览器”,集成了Vue,React,Angular等知名前端框架的特点。 微软官方文档 Blazor入门基础视频合集 Blazor 入门基础教程 《进击吧!Blazor!》系列 《进击吧!Blazor!》入门教程 Blazor基础知识 Visual Studio 2022 .NET Core 6

    2024年02月14日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包