如何在没有 UI 而仅 API 控制器的情况下利用 EF Core 身份验证(和授权)功能?

问题描述 投票:0回答:1

我正在尝试弄清楚是否以及如何利用 EF Core Identity 的功能来管理我的应用程序中的用户。

我使用 ASP.NET Core Web API(预览版)创建了一个 React 应用程序,其中包括 2 个项目 - 前端和后端。

该项目大部分是空的。

我想为

/login
/register
端点定义自己的控制器,但我不希望与它关联的 Identity UI。

有没有办法使用上面提到的那些包,以及如何使用? (比如

userManager
signInManager
?为了安全地处理会话?)

到目前为止,我一直在四处寻找,但很难找到明确的答案。似乎使用 JWT 是最简单的路线...?

如果定义了我自己的

UserModel
继承自
IdentityUser
,并正确设置了
ApplicationDbContext
和数据库连接。

asp.net-core entity-framework-core asp.net-core-identity
1个回答
0
投票

Identity 默认情况下不会添加“默认 UI”,添加这些 Razor 页面是可选的。请参阅此处,我解释了

AddIdentity
AddIdentityCore
AddDefaultIdentity
AddIdentity 与 AddIdentityCore

之间的差异

简而言之,如果您不希望将 UI 页面(身份剃刀页面)添加到您的项目中,请不要搭建身份框架。当您构建身份时,它会将这些剃刀页面添加到名为“身份”的新区域下。相反,可以选择

AddIdentity
AddIdentityCore
(我推荐
AddIdentity
,因为它添加了更多功能),然后只需将相关服务(用户管理器、登录管理器等)注入控制器即可获得身份验证和授权控制器中的功能。

© www.soinside.com 2019 - 2024. All rights reserved.