在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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)); } } }
|
请发表评论