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

南阳网站建设大旗电商小企业网站用什么主机好

南阳网站建设大旗电商,小企业网站用什么主机好,如何用文档做网站,大一计算机网页制作步骤目录 1. JWT简述 1.1 什么是JWT 1.2 为什么使用JWT 1.3 JWT结构 1.4 验证过程 2. JWT示例 2.1 后台程序 2.2 前台加入jwt令牌功能 1. JWT简述 1.1 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准#xff08;(RFC 7…目录 1. JWT简述 1.1 什么是JWT 1.2 为什么使用JWT 1.3 JWT结构 1.4 验证过程 2. JWT示例 2.1 后台程序 2.2 前台加入jwt令牌功能 1. JWT简述 1.1 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519).该token被设计为紧凑且安全的特别适用于分布式站点的单点登录SSO场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息以便于从资源服务器获取资源也可以增加一些额外的其它业务逻辑所必须的声明信息该token也可直接被用于认证也可被加密。 JSON Web TokenJWT是目前最流行的跨域身份验证解决方案 1.2 为什么使用JWT 传统的intenet服务的认证是通过session进行的当用户通过了安全认证后则在服务端的session对象中保存该用户的认证信息这样该用户对服务的访问被认为是安全的。这种模式的最大问题是没有分布式架构不方便进行横向扩展这种模式只适合于单体应用模式。如果需要进行服务集群则需要处理好共享session的问题。 如果一个庞大的系统需要按服务分解为多个独立的服务使用分布式架构则这种方式更难处理。使用jwt可以方便的处理上面提到的问题。 1.3 JWT结构 JWT头 JWT头部分是一个描述JWT元数据的JSON对象通常如下所示。{alg: HS256,typ: JWT}。 有效载荷 有效载荷部分是JWT的主体内容部分也是一个JSON对象包含需要传递的数据。这些声明被JWT标准称为claims。 例如{sub:123,name:Tom,admin:true}sub代表这个token的所有人存储的是所有人的IDname表示这个所有人的名字admin表示所有人是否管理员的角色。当后面对JWT进行验证的时候这些claim都能发挥特定的作用。 根据JWT的标准这些claims可以分为以下三种类型 A. Reserved claims(保留) 它的含义就像是编程语言的保留字一样属于JWT标准里面规定的一些claim。JWT标准里面定义好的claim有 iss (issuer)签发人 exp (expiration time)过期时间 sub (subject)主题 aud (audience)受众 nbf (Not Before)生效时间 iat (Issued At)签发时间 jti (JWT ID)编号 B. Public claims略不重要 C. Private claims(私有) 这个指的就是自定义的claim比如前面那个示例中的admin和name都属于自定的claim。这些claim跟JWT标准规定的claim区别在于JWT规定的claimJWT的接收方在拿到JWT之后都知道怎么对这些标准的claim进行验证而private claims不会验证除非明确告诉接收方要对这些claim进行验证以及规则才行。 按照JWT标准的说明保留的claims都是可选的在生成payload不强制用上面的那些claim你可以完全按照自己的想法来定义payload的结构不过这样搞根本没必要第一是如果把JWT用于认证 那么JWT标准内规定的几个claim就足够用了甚至只需要其中一两个就可以了假如想往JWT里多存一些用户业务信息比如角色和用户名等这倒是用自定义的claim来添加第二是JWT标准里面针对它自己规定的claim都提供了有详细的验证规则描述每个实现库都会参照这个描述来提供JWT的验证实现所以如果是自定义的claim名称那么你用到的实现库就不会主动去验证这些claim。 signature 签名的作用是防篡改。签名是把header和payload对应的json结构进行base64url编码之后得到的两个串用英文句点号拼接起来然后根据header里面alg指定的签名算法生成出来的。算法不同签名结果不同。以alg: HS256为例来说明前面的签名如何来得到。照前面alg可用值的说明HS256其实包含的是两种算法HMAC算法和SHA256算法前者用于生成摘要后者用于对摘要进行数字签名。这两个算法也可以用HMACSHA256来统称 JWT实际结构示例 eyJhbGciOiJIUzI1NiJ9. eyJzdWIiOiJ7fSIsImlzcyI6InpraW5nIiwiZXhwIjoxNTYyODUwMjM3LCJpYXQiOjE1NjI4NDg0MzcsImp0aSI6ImM5OWEyMzRmMDc4NzQyZWE4YjlmYThlYmYzY2VhNjBlIiwidXNlcm5hbWUiOiJ6c3MifQ. WUfqhFTeGzUZCpCfz5eeEpBXBZ8-lYg1htp-t7wD3I4 1.4 验证过程 客户端接收服务器返回的JWT将其存储在Cookie或localStorage中此后在于服务器的交互中都携带者JWT信息它验证的方法其实很简单只要把header做base64url解码就能知道JWT用的什么算法做的签名然后用这个算法再次用同样的逻辑对header和payload做一次签名并比较这个签名是否与JWT本身包含的第三个部分的串是否完全相同只要不同就可以认为这个JWT是一个被篡改过的串。 2. JWT示例 2.1 后台程序 1将资料中src目录下的代码CorsFilter.javaJwtFilter.javaJwtUtils.java拷入项目的util目录下可以根据项目设置的目录结构调整。 2程序的解释详见代码中的注释 3在web.xml中配置JwtFilter过滤器 4在用户登录验证成功后需要为该用户生成jwt令牌具体实现可参考UserAction.java 5测试后台的验证服务确定在验证通过的前提下可以正确的生成jwt令牌。 2.2 前台加入jwt令牌功能 1 在store/state.js中加入jwt变量 //存放全局参数的容器组件可以通过state.js获取全局参数 const state {LeftAsideState: open,PersonName:张飞,//存放jwt令牌jwt:null }export default state 2在store/mutations.js中加入设置jwt方法 //设置JWT令牌setJwtToken: (state, payload) {state.jwt payload.jwt;} 3在store/getters.js中加入获取jwt的方法 //获取jwt令牌getJwtToken: function(state) {return state.jwt;} 4修改main.js应用入口 //将vue实例赋给window.vm属性以便于在http.js的响应拦截器和请求拦截器中获取vue实例 window.vm new Vue({el: #app,router,store,components: {App},template: App/ }) 5完善api/http.js中的请求拦截器和响应拦截器 // 请求拦截器 axios.interceptors.request.use(function(config) {//获取store中的jwt令牌如果正常获取将其放入请求头//在调用后台服务时服务会通过过滤器验证jwt令牌的有效性//如果没有令牌或令牌无效则拒绝服务。let jwt window.vm.$store.getters.getJwtToken;if(jwt) {config.headers[jwt] jwt;}return config; }, function(error) {return Promise.reject(error); });// 响应拦截器 axios.interceptors.response.use(function(response) {//获取响应头中的jwt令牌数据认证服务将生成的令牌放入header的jwt属性中//如果获取到jwt令牌在保存到store中以后发送请求时需要将令牌放入请求头let jwt response.headers[jwt];if(jwt) {window.vm.$store.commit(setJwtToken,{jwt:jwt});}return response; }, function(error) {return Promise.reject(error); }); 完毕测试
http://www.zqtcl.cn/news/556473/

相关文章:

  • 网站建设教程出售用苏州久远网络现在的网络营销方式
  • 浮动播放器wordpress刷神马seo排名首页排名
  • 建设网站呼叫中心有什么好处站长统计免费下载
  • 做网站电脑配置要求个高吗电子商务网站的建设包含哪些流程图
  • 青岛做网站大公司wordpress文章页加一言
  • 用哪个网站做相册视频文件夹谷歌ads
  • 注册top域名做公司网站男女做暖网站是什么
  • 郴州本地网站建设高端网站设计多少钱
  • 此网站域名即将过期广告制作属于什么行业
  • 牛牛襄阳网站建设wap网站asp源码
  • 信用网站建设招标书建网站需要什么手续
  • 重庆建网站方法网站开发和维护
  • 做网站需要什么人活动策划流程及细节
  • wordpress企业网站seo上海市
  • 北京建外贸网站公司网络域名是什么
  • 聚美优品网站建设方案上市公司的信息网站
  • 济南做网站比较好的公司知道吗为什么做美食视频网站
  • 药店网站源码宣传方式
  • word如何做网站链接淘宝客建站需要多少钱
  • 凡科网免费建站步骤及视频logo设计网页
  • 天梯网站建设软件开发公司职位
  • 建站公司外贸东方购物网上商城
  • 白银做网站企业免费网站模板
  • 网络公司给我们做的网站_但是我们不知道域名是否属于我们湖北正规网站建设质量保障
  • 本地网站asp iis团队展示网站
  • 企业网站管理系统cmswordpress知识管理系统
  • 创建一个网站需要怎么做销售平台公司
  • 网站域名实名认证吗做斗图的网站
  • 公司在兰州要做网站怎样选择做网站数据库表各字段详情
  • 营销型网站建设的要素搭建本地网站