iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Asp.net core中怎么使用cookie验证身份
  • 630
分享到

Asp.net core中怎么使用cookie验证身份

2023-06-17 02:06:24 630人浏览 薄情痞子
摘要

今天就跟大家聊聊有关ASP.net core中怎么使用cookie验证身份,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。ASP.net core Identity 是一个完整的全功能

今天就跟大家聊聊有关ASP.net core中怎么使用cookie验证身份,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

ASP.net core Identity 是一个完整的全功能身份验证提供程序,用于创建和维护登录名。 但是, cookie  不能使用基于的身份验证提供程序 ASP.Net Core Identity 。

配置

在 Startup.ConfigureServices 方法中,创建具有 AddAuthentication 和 AddCookie  方法的身份验证中间件服务:

services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie();
app.UseAuthentication();

AuthenticationScheme 传递到 AddAuthentication 设置应用程序的默认身份验证方案。如果有多个 cookie  身份验证实例,并且你想要使用特定方案进行授权,AuthenticationScheme 会很有用。将 AuthenticationScheme  设置为CookieAuthenticationDefaults。AuthenticationScheme为方案提供值  "cookie"。可以提供任何用于区分方案的字符串值。

应用的身份验证方案不同于应用的 cookie 身份验证方案。如果未向 AddCookie提供 cookie 身份验证方案,则使用  CookieAuthenticationDefaults.AuthenticationScheme ("Cookie")。

默认情况下,身份验证 cookie 的 IsEssential 属性设置为 true。当站点访问者未同意数据收集时,允许使用身份验证  cookie。

登录

若要创建保存用户信息的 cookie,请构造一个 ClaimsPrincipal。将对用户信息进行序列化并将其存储在 cookie 中。

使用任何所需的 Claim创建 ClaimsIdentity,并调用 SignInAsync 以登录用户:

/// <summary>         ///         /// </summary>         /// <param name="model"></param>         /// <param name="returnUrl"></param>         /// <returns></returns>         [HttpPost]         [AllowAttribute]         [ValidateAntiForgeryToken]         public async Task<IActionResult> Login(LoginModel model, string returnUrl = null)         {             if (!ModelState.IsValid)             {                 return JSON(new { state = "error", message = "数据验证失败" });             }             string ip = GetRemoteIpAddress();             var r = await UserApp.SaasLoginAsync(model.Account, model.PassWord, ip);             if (!string.IsNullOrEmpty(r.Error))             {                 return json(new { state = "error", message = r.Error });             }             var claims = new List<Claim>                                         {                                             new Claim(ClaimTypes.UserData, getCurrentUser(r.User, ip).ToString()),                                         };             var claimsIdentity = new ClaimsIdentity(                 claims, CookieAuthenticationDefaults.AuthenticationScheme);             var authProperties = new AuthenticationProperties             {                 ExpiresUtc = DateTimeOffset.Now.AddMinutes(120)             };             await HttpContext.SignInAsync(                 CookieAuthenticationDefaults.AuthenticationScheme,                 new ClaimsPrincipal(claimsIdentity),                 authProperties);             return Json(new { state = "success", message = "登录成功。", returnUrl = RedirectToLocal(returnUrl) });         }

SignInAsync 创建加密的 cookie,并将其添加到当前响应中。如果未指定 AuthenticationScheme,则使用默认方案。

asp.net Core 的数据保护系统用于加密。对于托管在多台计算机上的应用程序、跨应用程序或使用 WEB  场进行负载平衡,请将数据保护配置为使用相同的密钥环和应用程序标识符。

注销

若要注销当前用户并删除其 cookie,请调用 SignOutAsync:

/// <summary>         ///         /// </summary>         /// <returns></returns>         [HttpPost]         [ValidateAntiForgeryToken]         public async Task<IActionResult> LoGoff()         {             if (bool.Parse(Configuration.GetSection("IsIdentity").Value))             {                 return SignOut("Cookies", "oidc");             }             else             {                 if (User.Identity.IsAuthenticated)                 {                     string userdata = User.Claims.FirstOrDefault(o => o.Type == ClaimTypes.UserData)?.Value;                     await UserApp.LogOffAsync(CurrentUser.FromJson(userdata));                 }                 await HttpContext.SignOutAsync(                  CookieAuthenticationDefaults.AuthenticationScheme);                 return RedirectToAction(actionName: nameof(Login), controllerName: "Account");             }         }

看完上述内容,你们对Asp.net core中怎么使用cookie验证身份有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。

--结束END--

本文标题: Asp.net core中怎么使用cookie验证身份

本文链接: https://www.lsjlt.com/news/286904.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Asp.net core中怎么使用cookie验证身份
    今天就跟大家聊聊有关Asp.net core中怎么使用cookie验证身份,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。ASP.NET Core Identity 是一个完整的全功能...
    99+
    2023-06-17
  • ASP.NET Core中Cookie验证身份用法详解
    目录添加配置ASP.NET Core 1.xASP.NET Core 2.x创建身份认证CookieASP.NET Core 1.xASP.NET Core 2.xSigning o...
    99+
    2024-04-02
  • Asp.Net Core 中怎么利用Cookie实现身份认证
    这篇文章将为大家详细讲解有关Asp.Net Core 中怎么利用Cookie实现身份认证,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一 注册Cookie认...
    99+
    2024-04-02
  • ASP.NET MVC中怎么使用Oauth2.0验证身份
    这期内容当中小编将会给大家带来有关ASP.NET MVC中怎么使用Oauth2.0验证身份,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. OAuth3.0中的角色  ● Resource Owner:...
    99+
    2023-06-19
  • 怎样使用Jwt身份认证保护 Asp.Net Core Web Api
    怎样使用Jwt身份认证保护 Asp.Net Core Web Api,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。网络上有许多资源可以教你如何保护ASP.NET...
    99+
    2023-06-19
  • ASP.NET项目中的JWT身份验证
    JWT (JSON Web Token) 是一种用于身份验证的开放标准,可以在客户端和服务器之间传递安全的信息。在ASP.NET项目...
    99+
    2023-09-27
    ASP.NET
  • ASP.NET中怎么实现Windows身份认证
    这篇文章给大家介绍ASP.NET中怎么实现Windows身份认证,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。要使用Windows身份认证模式,需要在web.config设置:<authentication&nb...
    99+
    2023-06-17
  • 如何使用会话Cookie和Java实现JWT身份验证
    目录1、基于会话的身份验证那么什么是会话Cookie? 2、基于令牌的身份验证哪个更好用?3、jwt实现登录HTTP是无状态协议,用于传输数据。它启用了客户端和服务器端>...
    99+
    2024-04-02
  • ASP.NET Core在WebApi项目中怎么使用Cookie
    这篇文章主要讲解了“ASP.NET Core在WebApi项目中怎么使用Cookie”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ASP.NET Core在WebApi项...
    99+
    2023-06-29
  • 亚马逊身份验证器怎么用
    以下是如何使用亚马逊身份验证器的步骤: 在您的设备上安装 Amazon Echo Dot 或其他 Echo 设备。 连接到 Echo 设备并打开设备的 Amazon Connect Settings。 点击设备设置中的“安全性”选项卡,...
    99+
    2023-10-27
    亚马逊 身份验证
  • jQury中Ajax如何使用Token验证身份
    这篇文章主要介绍jQury中Ajax如何使用Token验证身份,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!因为最近做了几个后台,所以经常会涉及到Token验证身份操作后台,所以这里...
    99+
    2024-04-02
  • ASP.NET Core在WebApi项目中使用Cookie
    目录一、Cookie的作用二、在ASP.NET Core中使用Cookie1、在控制器中直接使用Cookie1.1、设置Cookie1.2、获取Cookie1.3、删除Cookie信...
    99+
    2024-04-02
  • 掌握 ASP Core 中的身份验证和授权的艺术
    ASP Core、身份验证、授权、JWT、OAuth 身份验证 身份验证是验证用户身份的过程。ASP Core 提供了多种身份验证方案,包括: Cookie 身份验证:通过将身份验证信息存储在用户浏览器中的 cookie 中来实现。 ...
    99+
    2024-03-07
    掌握 ASP Core 中的身份验证和授权对于保护 web 应用程序免受未经授权的访问至关重要。本文将深入探讨 ASP Core 中的身份验证和授权机制 并提供代码示例来指导您进行实际实施。
  • Node.js中怎么通过身份证号验证年龄
    Node.js中怎么通过身份证号验证年龄,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。node.js实现static ...
    99+
    2024-04-02
  • 使用 PHP Curl 执行 HTTP 身份验证
    本文介绍如何在 Ubuntu 中使用 PHP cURL 执行 HTTP 身份验证。 php-curl 简介 cURL(客户端 URL)是一个命令行实用程序,用于发送或接收数据和文件。 它使用 ...
    99+
    2024-02-27
  • 怎么使用RESTful API通过Vue处理身份验证
    这篇文章主要介绍“怎么使用RESTful API通过Vue处理身份验证”,在日常操作中,相信很多人在怎么使用RESTful API通过Vue处理身份验证问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操...
    99+
    2024-04-02
  • jQuery如何使用正则验证15/18身份证
    小编给大家分享一下jQuery如何使用正则验证15/18身份证,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最好的jQuery正...
    99+
    2024-04-02
  • Node中express的身份认证怎么使用
    今天小编给大家分享一下Node中express的身份认证怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Web开发模式...
    99+
    2023-07-05
  • 如何使用身份验证发送邮件?
    哈喽!大家好,很高兴又见面了,我是编程网的一名作者,今天由我给大家带来一篇《如何使用身份验证发送邮件?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一...
    99+
    2024-04-05
  • vue项目中如何使用token的身份验证
    这篇文章给大家分享的是有关vue项目中如何使用token的身份验证的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。工作原理前端页面进行登录操作, 将用户名与密码发给服务器;服务器进...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作