- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
Blazor server-side application用Microsoft.AspNetCore.Identity.EntityFrameworkCore实现Authorization 和 Authentication 完整教程.
本方案只适用于Blazor Server-Size Application 。
完整项目源代码,参考: https://github.com/neozhu/CleanArchitectureWithBlazorServer 。
需要引用的类库如下:
<PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="7.0.0" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="7.0.0" /> <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="7.0.0" /> <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="7.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Duende.IdentityServer" Version="6.2.0" /> <PackageReference Include="Duende.IdentityServer.AspNetIdentity" Version="6.2.0" /> <PackageReference Include="Duende.IdentityServer.EntityFramework" Version="6.2.0" /> <PackageReference Include="Duende.IdentityServer.EntityFramework.Storage" Version="6.2.0" /> <PackageReference Include="Duende.IdentityServer.Storage" Version="6.2.0" />
这里的实现方式和Asp.net core 3.0,5.0,6.0, 7.0 几乎一样的配置,但又也有一些特殊之处。下面我分享一下的代码.
从上面引用的类库发现我并使用的是Microsoft.AspNetCore.Identity.EntityFrameworkCore + Duende.IdentityServer 都已经升级到最新版本.
用于生成需要后台表 。
。
。
这里和微软官方的文档略有不同我使用的AddIdentity方法.
。
。
这类servicescollection配置和asp.net core cookie认证是一直,只是这里不需要配置Login,Logout路径 。
。
重点这里需要生成一个Token,而不是直接传用户名+密码,因为安全 不能明文传输密码。这里我们需要调用auth/login?token=.... 实现登录 。
。
这里的写法和asp.net core登录一样都使用SignInManager<ApplicationUser> 登录成功后和asp.net core应用一样保存于账号相关的所有授权比如Roles和Claims 。
如何需要自定义添加自定义的内容比如下面的TenantId TenantName ,ApplicationClaimsIdentityFactory就是用于添加需要内容.
。
。
之前Blazor Server-Side application 是不支持 IHttpContextAccessor获取账号信息,现在竟然可以了.
。
Component需要继承 添加 @inherits OwningComponentBase 。
。
需要通过ScopedServices.GetRequiredService<UserManager<ApplicationUser>>(); 创建才安全 。
希望对学习Blazor的同学有帮助.
。
最后此篇关于BlazorServer完美实现CookieAuthorizationandAuthentication的文章就讲到这里了,如果你想了解更多关于BlazorServer完美实现CookieAuthorizationandAuthentication的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我使用 dotnet new blazorserver 在 vs 代码中创建了多个新的 BlazorServer 项目在多台电脑上,我总是收到此错误。 The type or namespace na
命令 C:\Users\donhuvy>dotnet --version 3.0.100-preview8-013656 和 Microsoft Windows [Version 10.0.16299
我是一名优秀的程序员,十分优秀!