zoukankan      html  css  js  c++  java
  • asp.net core 3.0 身份认证 替换为自已的提供程序 AuthenticationStateProvider replace to SelfAuthenticationStateProvider

            public void ConfigureServices(IServiceCollection services)
            {
                // 添加身份验证服务
                services.AddAuthorizationCore();
                services.AddScoped<AuthenticationStateProvider, ServerAuthenticationStateProvider>();
            }
    using BlazorDemo.Shared;
    using Microsoft.AspNetCore.Components;
    using Microsoft.AspNetCore.Components.Authorization;
    using System.Net.Http;
    using System.Security.Claims;
    using System.Threading.Tasks;
    
    namespace BlazorDemo.Client
    {
        public class SelfAuthenticationStateProvider : AuthenticationStateProvider
        {
            private readonly HttpClient _httpClient;
    
            public SelfAuthenticationStateProvider(HttpClient httpClient)
            {
                _httpClient = httpClient;
            }
    
            public override async Task<AuthenticationState> GetAuthenticationStateAsync()
            {
                var userInfo = await _httpClient.GetJsonAsync<UserInfo>("user");
    
                var identity = userInfo.IsAuthenticated
                    ? new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, userInfo.Name) }, "selfauth")
                    : new ClaimsIdentity();
    
                return new AuthenticationState(new ClaimsPrincipal(identity));
            }
        }
    }
  • 相关阅读:
    2101 可达性统计
    POJ1179 Polygon
    POJ1015 Jury Compromise
    读入输出优化
    队列优化dijsktra(SPFA)的玄学优化
    5104 I-country
    CH5102 Mobile Service
    P1005 矩阵取数游戏
    (模板)线段树2
    POJ3666 Making the Grade
  • 原文地址:https://www.cnblogs.com/webenh/p/11644692.html
Copyright © 2011-2022 走看看