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

建设网站的方案必应站长平台

建设网站的方案,必应站长平台,任丘网站建设公司,网站开发图片放哪里重新创建WebApi项目,安装Microsoft.AspNetCore.Authentication.JwtBearer包,将之前JwtBearer测试项目中的初始化函数,jwt配置类、token生成类全部挪到项目中。   重新编写login函数,之前测试Cookie和Session认证时用的函数适合m…

  重新创建WebApi项目,安装Microsoft.AspNetCore.Authentication.JwtBearer包,将之前JwtBearer测试项目中的初始化函数,jwt配置类、token生成类全部挪到项目中。
  重新编写login函数,之前测试Cookie和Session认证时用的函数适合mvc模式,WebApi项目下函数返回的是状态码及其它信息,直接将开源博客Blog项目中的ApiResult类照搬过来,如果登录成功则将token保存到Msg属性中返回客户端。login函数的主要代码如下(用户名及密码验证还是写死的,后续再调整成从数据库中查询):

public async Task<ApiResult> Login([FromBody]UserInfo info)
{if (info.Name == "gc_2299" && info.Password == "XXXXXX"){ApiResult result = new ApiResult();result.UserName = info.Name;result.Msg=GetToken(info.Name);return result;}else{return new ApiResult("身份验证失败", 500, false);}
}private string GetToken(string name)
{List<Claim> claims = new List<Claim>();claims.Add(new Claim(ClaimTypes.Name, name)); DateTime expres = DateTime.Now.AddSeconds(_jwtconfig.Value.Expres);byte[] secbyse = Encoding.UTF8.GetBytes(_jwtconfig.Value.Key);var secKey = new SymmetricSecurityKey(secbyse);var credetials = new SigningCredentials(secKey, SecurityAlgorithms.HmacSha256);var tokenDescriptor = new JwtSecurityToken(claims: claims, expires: expres, signingCredentials: credetials, issuer:_jwtconfig.Value.Issuer, audience: _jwtconfig.Value.Audience);return new JwtSecurityTokenHandler().WriteToken(tokenDescriptor);
}

  前端登录页面也是直接复制的开源博客Blog项目中的后台登录页面,简化了不少东西。不过没法直接用它的js代码(使用jQuery的post方法调不到后台的login函数,暂时不清楚怎么回事儿,网上很多示例都是用的ajax,所以改成了ajax),将登录函数的js代码修改如下:

layui.use(['layer', 'form'], function () {var layer = layui.layer;var form = layui.form,$ = layui.jquery;form.on("submit(login)",function (data) {login();});function login() {var $btn = $("#btnLogin");$btn.text("登录中...").attr("disabled", "disabled").addClass("layui-disabled");var parm = {};$("form input").each(function () {parm[$(this).attr("name")] = $(this).val();});              $.ajax({type: 'POST',url: 'https://localhost:7051/Login/Login',contentType: 'application/json',data: JSON.stringify(parm),success: function (result) {if (result.statusCode == 200) {layer.msg("登录成功,欢迎" + result.userName +",你的token=" + result.msg);sessionStorage.setItem("user", result.userName)sessionStorage.setItem("token", result.msg);}else{layer.msg("登录失败,错误消息为:" + result.msg);}$btn.text('登录').removeClass("layui-disabled").removeAttr("disabled");},error: function () {layer.msg("登录失败");$btn.text('登录').removeClass("layui-disabled").removeAttr("disabled");}});}
});      

  最后是登录效果,截图如下:
在这里插入图片描述

  从浏览器的会话存储空间中可以看到登录成功后保存的用户名及token,便于其它页面使用。
在这里插入图片描述

参考文献:
[1]https://www.jianshu.com/p/a2804e72d296
[2]https://blog.csdn.net/sD7O95O/article/details/85043160
[3]https://www.cnblogs.com/qiongkangle/p/13347283.html
[4]https://www.cnblogs.com/xbhp/p/17401507.html
[5]https://www.cnblogs.com/superstar/p/16491428.html
[6]https://blog.csdn.net/weixin_44877917/article/details/140609294
[7]https://blog.csdn.net/qq_40287041/article/details/143368882

http://www.zhongyajixie.com/news/57349.html

相关文章:

  • 标志设计logo网站百度刷seo关键词排名
  • 做网站怎么靠流量挣钱互动营销的方式有哪些
  • 广州市番禺区建设局网站南京seo报价
  • 做再生资源的网站有哪些看广告赚钱的平台
  • 哪里有做网站系统的外国网站开放的浏览器
  • 电信网站备案网站建设哪家好公司
  • 北京南站附近景点深圳网站制作推广
  • 网站如何做ins链接分享山东今日头条新闻
  • 做电影网站需要注意什么软件seo优化排名软件
  • 网站搭建流程体育新闻最新消息
  • 行业网站设计手机百度app免费下载
  • 网站建设类课题的研究方法海阳seo排名优化培训
  • 扁平化资讯网站模板怎么创建网站快捷方式
  • 做网站及小程序需要会哪些技能英雄联盟最新赛事
  • 做礼品公司网站的费用新闻稿发布平台
  • 做个网站需要什么设备手机app免费制作平台
  • JS 微软的翻译接口做网站国际化域名解析查询站长工具
  • 网站目录做跳转hyein seo官网
  • 做网站要空间还是服务器网站优化排名公司哪家好
  • 电大的网站界面ui设计训练怎么做竞价排名机制
  • 怎么可以自己做网站小网站怎么搜关键词
  • 怎么做58同城网站吗全专业优化公司
  • 给厂家做代理上什么网站怎么推广自己的微信号
  • 网站开发什么语言好百度一下你知道
  • 小包工头怎么注册公司廊坊快速排名优化
  • 如何使用jq做弹幕网站电脑网络优化软件
  • 邯郸网站建设公司企业品牌推广
  • 手机版静态网页模板北京优化网站建设
  • 公司网站设计模板站长联盟
  • 网站内容页怎么设计咸阳网站建设公司