当前位置: 首页 > news >正文

湛江北京网站建设长沙百度推广运营公司

湛江北京网站建设,长沙百度推广运营公司,黄村做网站哪家好,百度网站优化升上去B/S架构程序可通过Cookie、Session、JWT、证书等多种方式认证用户身份,虽然之前测试过用户登录代码,也学习过开源项目中的登录认证,但其实还是对身份认证疑惑甚多,就比如登录验证后用户信息如何保存、客户端下次连接时如何获取用户…

  B/S架构程序可通过Cookie、Session、JWT、证书等多种方式认证用户身份,虽然之前测试过用户登录代码,也学习过开源项目中的登录认证,但其实还是对身份认证疑惑甚多,就比如登录验证后用户信息如何保存、客户端下次连接时如何获取用户信息等,这与使用Winform的身份认证方式差别还是挺大的。
  学习了挺久的ASP.NET Core及layui,最终还是想写个完整的程序,身份认证是程序的基本功能,无论如何都省略不掉的。准备学习并测试常用的身份认证方式,既熟悉相关概念,也为后续评估选择身份认证方式提供支撑。
  先学习相对简单的基于Cookie的身份认证方式,本文对照参考文献1-4实现最简单的登录、跳转主页面、登录功能(从其中抄了不少代码),概念什么的后续文章中再边学习边记录。

  VS2022创建基于MVC的Web项目,在Program.cs文件中增加以下代码:

...
...
builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(options =>{options.LoginPath = "/Account/Login";options.Cookie.Name = "CookiesLoginText";options.ExpireTimeSpan = TimeSpan.FromMinutes(10);options.SlidingExpiration = true;});
var app = builder.Build();
...
...
app.UseRouting();app.UseAuthentication();//增加的代码
app.UseAuthorization();//增加的代码app.MapControllerRoute

  将项目自带的HomeController.cs文件的Index页面作为程序主页面,修改页面内容显示登录用户名及登出链接,并给与HomeController类Authorize特性,这样直接访问Index页面会因没有通过身份认证而跳转到登录页面。新增AccountController类定义登录、登出函数,并在登录函数中用户身份验证通过后调用HttpContext.SignInAsync将信息保存到Cookie中(代码主要参考自参考文献1,仅微调或简化),控制器类中可调用User属性获取当前用户信息。

public async Task<IActionResult> Login(string name, string password)
{if (name=="gc_2299" && password=="123456"){var claimIdentity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme);claimIdentity.AddClaim(new Claim(ClaimTypes.Name, name));await base.HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimIdentity));return RedirectToAction("Index", "Home");}else{return View();}
}public async Task<IActionResult> Logout()
{await base.HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);return RedirectToAction("Login", "Account");
}

  最后是程序运行效果,启动程序后显示登录页面。
  
在这里插入图片描述
  用户登录成功后跳转到主页面,并在主页面中显示当前用户登录名,同时在浏览器的Cookie中可以看到当前用户的Cookie数据。
在这里插入图片描述

在这里插入图片描述
  点击退出登录按钮,返回登录页面,此时客户端浏览器中的Cookie也被清空。
在这里插入图片描述
  本文主要以及其简单的方式学习并验证了基于Cookie的身份认证方式,后续还会进一步学习各种数据结构及属性的用途。

参考文献:
[1]https://blog.csdn.net/sD7O95O/article/details/134724623
[2]https://www.cnblogs.com/itjeff/p/16427423.html
[3]https://blog.csdn.net/weixin_68436326/article/details/132930540
[4]https://www.cnblogs.com/vic-tory/p/18237065
[5]https://blog.csdn.net/qq_27337291/article/details/123418867

http://www.mmbaike.com/news/100786.html

相关文章:

  • 做钓鱼网站用哪种编程语言seo免费入门教程
  • 怎样做付费视频网站备案查询站长之家
  • 网站建和优网站建设5g站长工具seo综合查询
  • iis网站怎么做域名绑定百度怎么注册自己的网站
  • 网站源码 一品资源网百度广告服务商
  • 网站设计为什么要域名简述网站内容如何优化
  • 网站做服务端电商网站网址
  • 嘉峪关建设厅官方网站首页优化公司
  • 乌鲁木齐可以做网站的公司有哪些长沙网站优化方法
  • 编程的网站都有哪些百度seo关键词外包
  • 应用公园app在线制作平台官网班级优化大师的优点
  • 网站部署设计郑州网站营销推广
  • 网站开发中用到的英文单词全网营销
  • 企业怎么做网站建设珠海百度搜索排名优化
  • 专注高密做网站哪家好crm管理系统
  • 海口会计报名网站职业培训机构有哪些
  • 北京做网站多少钱系统优化软件哪个好
  • 常州网站公司怎么选2023新闻大事件摘抄
  • php抗议小卫士填报代码网页制作网站制作网站的公司有哪些
  • 做网站怎么备案奉化网站关键词优化费用
  • 我的小程序怎么制作专业搜索引擎seo技术公司
  • 自己的网站如何做推广地域名网址查询
  • WordPress链接变色优化方案电子版
  • 建设外贸购物网站公司域名查询官网
  • 大连网站建设怎么做公司网址怎么注册
  • 哪类网站赚钱 优帮云网站推广代理
  • 国外建设短视频网站如何建立自己的网站平台
  • 微信如何做积分商城网站常见的网络营销方法
  • 做网站麻烦不网络推广教程
  • 改图宝在线制作印章宁波网站推广优化