将基于 ASP.NET 核心 MVC cookie 的身份验证与数据库中的自定义用户表结合使用



我有自己的身份验证表:
用户
角色用户
角色

我正在尝试找出使用Core MVC实现自定义身份验证的最佳方法是什么 ASP.NET。我不想使用内置的用户管理器,角色管理器等。我更喜欢创建自己的。我是否可以以某种方式仍利用基于 cookie 的身份验证并在不使用 asp.net 标识的情况下使用所有 ASP.NET 授权帮助程序标记?

如果我错了,请纠正我,但我相信我想要这样的东西: https://learn.microsoft.com/en-us/aspnet/core/security/authentication/cookie

多年来我一直在试图弄清楚 ASP.NET 身份,我是 厌倦了不理解它的每一部分。我宁愿 像过去的美好时光一样实现我自己的身份验证。最有可能 我无法阅读文档并继续学习的问题 它,但我无法忍受实体框架/ASP.NET 身份。我知道 ASP.NET Identity 可以在没有 EF 的情况下使用,但看起来就像 疼痛。

好吧,如果您决定走这条路,则可以使用Cookie身份验证中间件

移动部分太多,所以我在 GitHub 中创建了一个示例项目。

您可以将此 LDAP 身份验证替换为您自己的身份验证机制。这是实际实现。

我没有在我的一些项目中使用 ASP.NET Identity的主要原因是我们的组织中已经有了Active Directory。

启动.cs

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
Events = new CookieAuthenticationEvents
{
OnRedirectToAccessDenied = context =>
{
context.Response.StatusCode = (int) HttpStatusCode.Forbidden;
return TaskCache.CompletedTask;
}
},
ExpireTimeSpan = TimeSpan.FromMinutes(Int32.Parse(Configuration.GetSection(
"AppSettings:CookieAuthentication:ExpireMinutes").Value)),
AuthenticationScheme = Constants.AuthenticationScheme,
LoginPath = new PathString("/Account/Login"),
AccessDeniedPath = new PathString("/Common/AccessDenied"),
AutomaticAuthenticate = true,
AutomaticChallenge = true
});

相关内容

  • 没有找到相关文章

最新更新