将 aspnet 身份与自定义表一起使用
using aspnet identity with custom tables
我正在开发 asp.net MVC 核心应用程序。我有带有用户和角色表的自定义数据库。我想对自定义表使用 asp.net 标识,这样我就不必使用 aspnetusers、aspnet 角色表。如何使用 asp.net 身份和 asp.net 核心
您可以使用 Cookie 中间件身份验证。
在你的Startup.cs中添加
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AuthenticationScheme = "MyCookieMiddlewareInstance",
LoginPath = new PathString("/Account/Unauthorized/"),
AccessDeniedPath = new PathString("/Account/Forbidden/"),
AutomaticAuthenticate = true,
AutomaticChallenge = true
});
在您的代码中,验证用户名和密码后,您调用 登录
await HttpContext.Authentication.SignInAsync("MyCookieMiddlewareInstance", principal);
然后签字
await HttpContext.Authentication.SignOutAsync("MyCookieMiddlewareInstance");
有关详细信息,请参阅 Microsoft website 上的文章
祝你好运! :)
我最近几天刚刚经历了这个过程。我已经让它工作了,但在某些阶段它真的很痛苦。
简而言之:
- 您需要创建自己的用户模型来实现 IUser 接口。
- 您需要创建自己的 DAL 以从您的自定义数据库表中获取数据
- 您需要实现自己的 UserStore,它根据您要使用的 asp.identity 的功能实现不同的接口
本文 link 将帮助您:
https://www.asp.net/identity/overview/extensibility/overview-of-custom-storage-providers-for-aspnet-identity
我正在开发 asp.net MVC 核心应用程序。我有带有用户和角色表的自定义数据库。我想对自定义表使用 asp.net 标识,这样我就不必使用 aspnetusers、aspnet 角色表。如何使用 asp.net 身份和 asp.net 核心
您可以使用 Cookie 中间件身份验证。
在你的Startup.cs中添加
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AuthenticationScheme = "MyCookieMiddlewareInstance",
LoginPath = new PathString("/Account/Unauthorized/"),
AccessDeniedPath = new PathString("/Account/Forbidden/"),
AutomaticAuthenticate = true,
AutomaticChallenge = true
});
在您的代码中,验证用户名和密码后,您调用 登录
await HttpContext.Authentication.SignInAsync("MyCookieMiddlewareInstance", principal);
然后签字
await HttpContext.Authentication.SignOutAsync("MyCookieMiddlewareInstance");
有关详细信息,请参阅 Microsoft website 上的文章
祝你好运! :) 我最近几天刚刚经历了这个过程。我已经让它工作了,但在某些阶段它真的很痛苦。
简而言之:
- 您需要创建自己的用户模型来实现 IUser 接口。
- 您需要创建自己的 DAL 以从您的自定义数据库表中获取数据
- 您需要实现自己的 UserStore,它根据您要使用的 asp.identity 的功能实现不同的接口
本文 link 将帮助您: https://www.asp.net/identity/overview/extensibility/overview-of-custom-storage-providers-for-aspnet-identity