在自定义表

时间:2016-11-15 04:12:53

标签: c# asp.net-core-mvc asp.net-identity-2

我正在研究asp.net MVC核心应用程序。我有自定义数据库与用户和角色表。我想在自定义表中使用asp.net标识,这样我就不必使用aspnetusers,aspnet角色表。如何使用asp.net标识和asp.net核心

2 个答案:

答案 0 :(得分:2)

祝你好运! :) 我最近几天刚刚完成了这个过程。我已经开始工作,但在某些阶段真的很痛苦。

简而言之:

  1. 您需要创建自己的实现IUser接口的用户模型。
  2. 您需要创建自己的DAL,从自定义数据库表中获取数据
  3. 您需要实现自己的UserStore,根据您要使用的asp.identity的功能实现不同的接口
  4. 此链接可以帮助您: https://www.asp.net/identity/overview/extensibility/overview-of-custom-storage-providers-for-aspnet-identity

答案 1 :(得分:1)

您可以使用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上的文章