【发布时间】:2020-12-14 04:23:22
【问题描述】:
我的问题总结
我的项目更复杂,但这是我非常基本的问题。我有一个 Blazor WebAssembly 项目,我只做基本的 CRUD 操作。
我还有一个小型数据库,假设我有两个表Users 和Roles。我所做的是使用Scaffold-DbContext 以Database-First 方式创建它们的类,并在Shared 项目上运行此命令,因为我还想从Server 和Client 项目中访问这些类。
当我在创建 Blazor WebAssembly 项目时尝试在身份验证选项卡上使用 Individual User Accounts 时,它会在服务器中创建数据模型。这意味着我无法从 Client Project 访问我的表。他们需要在Shared。它也是基于代码优先的。我不想使用迁移。
我尝试了什么
我尝试用Individual User Accounts 项目创建一个几乎相同的项目,但我的Users 类继承IdentityUser,我的DbContext 继承ApiAuthorizationDbContext,但问题从这里开始。
我无法从 NuGet 添加 ApiAuthorization 包,因为它说共享项目与 .NetStandard 2.1 不兼容。
更改共享项目的标准也不起作用。
一些问题
-
我不能在 Shared 上添加我的 users 表并使用该表中的 Identity 吗? (因为它只是一个更大的数据库表)
-
我需要两个数据库吗?一个用于身份,一个用于应用程序的其余部分?
-
我需要使用身份验证和授权吗?我还能用什么?或者我可以使用一个自定义的,我可以像前面描述的那样使用它(在共享项目中拥有模型)
我的目标
我想用[Authorize] 属性授权用户。由于无法完成注册,因此无法继续。
【问题讨论】:
标签: asp.net-core blazor asp.net-core-identity blazor-webassembly