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

哪的网页设计培训好在线看seo网站

哪的网页设计培训好,在线看seo网站,网站建设要域名和什么,网站建设前期策划方案微信公众号#xff1a;趣编程ACE关注可了解.NET日常开发技巧。如需源码#xff0c;请公众号留言 源码;**[如果您觉得本公众号对您有帮助#xff0c;欢迎下方扫码加入群聊]鉴权、授权专题之简易鉴权我记得作为实习生去公司上班的时候#xff0c;领导就直接让我熟悉注册、登录… 微信公众号趣编程ACE关注可了解.NET日常开发技巧。如需源码请公众号留言 源码;**[如果您觉得本公众号对您有帮助欢迎下方扫码加入群聊]鉴权、授权专题之简易鉴权我记得作为实习生去公司上班的时候领导就直接让我熟悉注册、登录逻辑emm 用他的话来说就是这部分跟业务关联性不是很大你先看看。。。登录注册是跟业务逻辑不咋挂钩但是对框架得熟悉呀好吧自此咱就开始了搬砖路咯~安装需要的Nuget包1System.IdentityModel.Tokens.Jwt    2 3Microsoft.AspNetCore.Authentication  4 5Microsoft.AspNetCore.Authentication.JwtBearerSystem.IdentityModel.Tokens.Jwt 包含了用于提供创建、序列化、验证Json Web Token的一些类型Microsoft.AspNetCore.Authentication 一个用来各种身份验证中间件的Asp.Net Core的基本类型Microsoft.AspNetCore.Authentication.JwtBearer 这是一个能接受Token的中间件新建一个基于.Net6 的web api项目前言1public interface IAuthenticate 2{ 3        string Login(string userName,string password); // 包含一个登录方法 4}创建一个IAuthenticate的接口里面包含一个登录方法,接着便创建一个实现类实现Login方法与此同时我们需要将这个接口服务在容器里面依赖注入一下。1public class AuthenticateImpl : IAuthenticate 2{ 3     public string Login(string userName, string password) 4     { 5        ..... 6     }; 7}1// Program.cs 文件里面依赖注入 2builder.Services.AddSingletonIAuthenticate(new AuthenticateImpl(key));我们知道在登录逻辑里面我们需要对传递过来的用户名和密码在数据库里面check一下只有真真实实存在这个用户我们才会创建并分发Token。在这里我为了节省代码模拟一下check逻辑1private readonly IDictionarystring,string users  new Dictionarystring,string 2{ 3     {person1,aaaaa}, 4     {person2,bbbbb}, 5};定义一个用户字典key为用户名value为密码 此处不考虑密码编码加密一切从简。接着开始登录验证。。。。1public string Login(string userName, string password) 2{ 3  // check 用户真实存在  4  if(!users.Any(uu.KeyuserName  u.Valuepassword)) 5  { 6       return null; 7  }  8  // 在验证用户成功后开始创建Token 9}创建Token1public string Login(string userName, string password)2{3            // check 用户真实存在 4   if(!users.Any(uu.KeyuserName  u.Valuepassword))5   {6                return null;7   }8   // 创建Token9   var tokenHandle  new JwtSecurityTokenHandler(); // 实例化一个 JwtSecurityTokenHandler 对象 10   var tokenKey  Encoding.ASCII.GetBytes(_key); 11   var tokenDescriptor  new SecurityTokenDescriptor 12   { 13       Subject  new ClaimsIdentity(new Claim[] 14       { 15                    new Claim(ClaimTypes.Name,userName) 16       }), 17       Expires  DateTime.UtcNow.AddHours(1), 18       SigningCredentials  new SigningCredentials( 19            new SymmetricSecurityKey(tokenKey), 20            SecurityAlgorithms.HmacSha256Signature) 21       }; 22       var token  tokenHandle.CreateToken(tokenDescriptor); 23       return tokenHandle.WriteToken(token); 24}详解  首先我们需要实例化一个JwtSecurityTokenHandler 对象这个对象呢提供了创建Token的方法其中一个就是WriteToken()这个方法此方法入参是一个SecurityToken对象那么如何创建这个SecurityToken对象呢从上述代码的22行可以看出利用CreateToken()这个方法可以实现而这个方法又需要一个SecurityTokenDescriptor对象。所以我们将目光移至11行自此就是一个生成Token的全部过程。开启中间件鉴权1// Asp.net core 内置的鉴权方案2builder.Services.AddAuthentication(x3{4    x.DefaultAuthenticateScheme  JwtBearerDefaults.AuthenticationScheme; // 默认是Bearer 方案5    x.DefaultChallengeScheme  JwtBearerDefaults.AuthenticationScheme;6}).AddJwtBearer(x7{8    x.RequireHttpsMetadata false;9    x.SaveToken true; 10    x.TokenValidationParameters  new TokenValidationParameters 11    { 12        ValidateIssuerSigningKey  true, 13        IssuerSigningKey  new SymmetricSecurityKey(Encoding.ASCII.GetBytes(key)), 14        ValidateIssuer  false, 15        ValidateAudience  false 16    }; 17}); 18 19app.UseAuthentication(); // 使用鉴权接口访问我们在Api控制器上加上[Authorize()]特性这样整个控制器都需要经过token验证除非接口上面有[AllowAnonymous]特性修饰1[Authorize()] 2[ApiController] 3[Route(api/[controller])] 4public class TestJwtController : ControllerBase 5{ 6... 7}对于登录接口1[AllowAnonymous]2[HttpPost(login)]3public IActionResult Login(User user)4{5   // 根据用户名和密码验证用户并生成Token6   var token _authenticate.Login(user?.UserName,user?.Password);7   if(token is null)8   {9     return Unauthorized();  // 返回401 10   } 11   return Ok(token); // 返回token 登录成功 12}
http://wiki.neutronadmin.com/news/35973/

相关文章:

  • 亚马逊国际站官网电子商务平台怎么赚钱
  • 网站建设参考文献外文做一件代发哪个网站好
  • 公司网站建设多少钱网站开发方面的文献
  • 购物网站建设多少钱c 可以做网站
  • 正规设计兼职网站有哪些360官方下载官网
  • 威海网站建设公司排名给排水管道水压试验方案久久建筑网
  • .net网站开发教程网站开发一般用什么软件有哪些
  • 360上做网站杭州app建设
  • 个人网站建设存在哪些问题网站建设中如何设置外链接
  • 基于cms的企业网站建设最专业的企业营销型网站建设价格
  • 做网站分几个步骤成都网站建设备案
  • 做网站模板和服务器是一样的吗邢台建网站的公司
  • 网站查询备案信息济南的网站制作公司
  • 网站建设 招聘需求精品网站建设平台
  • 郑州网站app建设邮件服务商
  • 城市网站改版建设ajax做网站
  • 宣传电脑的网站开发企业vi设计一整套
  • 网站之前没备案中国城乡建设部网站证书查询
  • 石景山网站建设推广WordPress多页悬浮菜单
  • 有哪些专业做饰品的网站appapp 制作公司
  • 网站优化技术北京网站设计浩森宇特
  • 专业宣传片制作公司网站搭建谷歌seo
  • 沈阳手机网站开发网站备案密码有什么用
  • 深圳市龙岗区住房和建设局网站注册公司最低需要多少钱
  • 河北爱站网络科技有限公司qq小程序打不开怎么办
  • 网站怎么 备案wordpress 同义词
  • 网站建设运营合同书那个网站是专门做渔具的
  • seo网站内容网站做二维码
  • 网站制作高端网站建设Wordpress 仿站 工具
  • wordpress网站多层循环调用文章做百度移动网站排名