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

装饰工程 技术支持 东莞网站建设购物类型网站建设

装饰工程 技术支持 东莞网站建设,购物类型网站建设,网站建设工作总结报告,东莞百度推广排名文章目录一、用户身份认证1.1 单一服务器模式1.2 SSO#xff08;Single Sign On#xff09;模式1.3 Token模式二、JWT令牌2.1 JWT 令牌说明2.2 JWT令牌的组成2.3 JWT 问题和趋势2.4 JWT 测试一、用户身份认证 1.1 单一服务器模式 一般过程如下#xff1a; 用户向服务器发送… 文章目录一、用户身份认证1.1 单一服务器模式1.2 SSOSingle Sign On模式1.3 Token模式二、JWT令牌2.1 JWT 令牌说明2.2 JWT令牌的组成2.3 JWT 问题和趋势2.4 JWT 测试一、用户身份认证 1.1 单一服务器模式 一般过程如下 用户向服务器发送用户名和密码。验证服务器后相关数据如用户名用户角色等将保存在当前会话session中。服务器向用户返回 session_idsession 信息都会写入到用户的 Cookie。用户的每个后续请求都将通过在 Cookie 中取出 session_id 传给服务器。服务器收到 session_id 并对比之前保存的数据确认用户的身份。 缺点 单点性能压力无法扩展。分布式架构中需要 session 共享方案session 共享方案存在性能瓶颈。 session 广播性能瓶颈不推荐redis 代替 session推荐性能高 1.2 SSOSingle Sign On模式 方式CAS单点登录、OAuth2 分布式SSO(single sign on)模式单点登录英文全称 Single Sign On简称就是 SSO。它的解释是在多个应用系统中只需要登录一次就可以访问其他相互信任的应用系统。 如图所示图中有3个系统分别是业务 A、业务 B、和 SSO。业务 A、业务 B 没有登录模块。而 SSO 只有登录模块没有其他的业务模块。 一般过程如下 当业务 A、业务 B 需要登录时将跳到 SSO 系统。SSO 从用户信息数据库中获取用户信息并校验用户信息SSO 系统完成登录。然后将用户信息存入缓存例如redis。用户访问业务A或业务B需要判断用户是否登录时将跳转到SSO系统中进行用户身份验证SSO判断缓存中是否存在用户身份信息。这样只要其中一个系统完成登录其他的应用系统也就随之登录了。这就是单点登录SSO的定义。 优点用户身份信息独立管理更好的分布式管理。可以自己扩展安全策略 缺点认证服务器访问压力较大。 1.3 Token模式 优点 无状态 token是无状态session是有状态的基于标准化你的API可以采用标准化的 JSON Web Token (JWT) 缺点 占用带宽无法在服务器端销毁 二、JWT令牌 访问令牌的类型 2.1 JWT 令牌说明 JWT 是 JSON Web Token 的缩写即 JSON Web 令牌是一种自包含令牌。 JWT 的使用场景 一种情况是 webapi类似之前的阿里云播放凭证的功能另一种情况是多 web 服务器下实现无状态分布式身份验证 JWT 的认证过程 JWT的作用 JWT 最重要的作用就是对 token 信息的防伪作用 JWT 的原理 一个 JWT 由三个部分组成JWT 头、有效载荷、签名哈希最后由这三者组合进行 base64 编码得到 JWT JWT的用法 客户端接收服务器返回的 JWT将其存储在 Cookie 或 localStorage 中 此后客户端将在与服务器交互中都会带 JWT。如果将它存储在 Cookie 中就可以自动发送但是不会跨域因此一般是将它放入 HTTP 请求的 Header Authorization 字段中。 当跨域时也可以将 JWT 放置于 POST 请求的数据主体中。 2.2 JWT令牌的组成 一个典型的 JWT 看起来如下图 该对象为一个很长的字符串字符之间通过.分隔符分为三个子串。每一个子串表示了一个功能块总共有以下三个部分JWT 头、有效载荷和签名 ① JWT 头 JWT 头部分是一个描述 JWT 元数据的 JSON 对象通常如下所示 {alg: HS256,typ: JWT }在上面的代码中alg属性表示签名使用的算法默认为 HMAC SHA256写为HS256typ 属性表示令牌的类型JWT 令牌统一写为 JWT。最后使用 Base64 URL 算法将上述JSON对象转换为字符串保存。 ② 有效载荷 有效载荷部分是 JWT 的主体内容部分也是一个JSON 对象包含需要传递的数据。 JWT 指定七个默认字段供选择。 sub: 主题iss: jwt 签发者aud: 接收 jwt 的一方iat: jwt 的签发时间exp: jwt 的过期时间这个过期时间必须要大于签发时间nbf: 定义在什么时间之前该 jwt 都是不可用的jti: jwt 的唯一身份标识主要用来作为一次性 token从而回避重放攻击。 除以上默认字段外我们还可以自定义私有字段如下例 {name: Helen,admin: true,avatar: helen.jpg }请注意默认情况下 JWT 是未加密的任何人都可以解读其内容因此不要构建隐私信息字段存放保密信息以防止信息泄露。 JSON 对象也使用 Base64 URL 算法转换为字符串保存。 ③ 签名哈希 签名哈希部分是对上面两部分数据签名通过指定的算法生成哈希以确保数据不会被篡改。 首先需要指定一个密码secret。该密码仅仅为保存在服务器中并且不能向用户公开。然后使用标头中指定的签名算法默认情况下为HMAC SHA256根据以下公式生成签名。 HMACSHA256(base64UrlEncode(header) “.” base64UrlEncode(claims), secret) 签名hash 在计算出签名哈希后JWT头有效载荷和签名哈希的三个部分组合成一个字符串每个部分用.分隔就构成整个JWT对象。 如前所述JWT头和有效载荷序列化的算法都用到了Base64URL。该算法和常见Base64算法类似稍有差别。 作为令牌的JWT可以放在URL中例如api.example/?tokenxxx。 Base64中用的三个字符是“”/“和”“由于在URL中有特殊含义因此Base64URL中对他们做了替换”“去掉”“用”-“替换”/“用”_替换这就是Base64URL算法。 注意base64编码并不是加密只是把明文信息变成了不可见的字符串。但是其实只要用一些工具就可以把base64编码解成明文所以不要在JWT中放入涉及私密的信息。 2.3 JWT 问题和趋势 JWT 默认不加密但可以加密。生成原始令牌后可以使用该令牌再次对其进行加密。当 JWT 未加密时一些私密数据无法通过 JWT 传输。JWT 不仅可用于认证还可用于信息交换。善用 JWT 有助于减少服务器请求数据库的次数。JWT 的最大缺点是服务器不保存会话状态所以在使用期间不可能取消令牌或更改令牌的权限。也就是说一旦 JWT 签发在有效期内将会一直有效。JWT 本身包含认证信息因此一旦信息泄露任何人都可以获得令牌的所有权限。为了减少盗用JWT 的有效期不宜设置太长。对于某些重要操作用户在使用时应该每次都进行身份验证。为了减少盗用和窃取JWT 不建议使用 HTTP 协议来传输代码而是使用加密的 HTTPS 协议进行传输。 2.4 JWT 测试 引入依赖 dependencygroupIdio.jsonwebtoken/groupIdartifactIdjjwt/artifactIdversion0.7.0/version /dependency生成token public class JwtTests {//过期时间毫秒24小时private static long tokenExpiration 24*60*60*1000;//秘钥private static String tokenSignKey hc123;Testpublic void testCreateToken(){String token Jwts.builder().setHeaderParam(typ, JWT) //令牌类型.setHeaderParam(alg, HS256) //签名算法.setSubject(hc-user) //令牌主题.setIssuer(hc)//签发者.setAudience(hc)//接收者.setIssuedAt(new Date())//签发时间.setExpiration(new Date(System.currentTimeMillis() tokenExpiration)) //过期时间.setNotBefore(new Date(System.currentTimeMillis() 20*1000)) //20秒后可用.setId(UUID.randomUUID().toString()).claim(nickname, hc).claim(avatar, 1.jpg).signWith(SignatureAlgorithm.HS256, tokenSignKey)//签名哈希.compact(); //转换成字符串System.out.println(token);} }解析 token Test public void testGetUserInfo(){String token jwt字符串;JwsClaims claimsJws Jwts.parser().setSigningKey(tokenSignKey).parseClaimsJws(token);Claims claims claimsJws.getBody();String subject claims.getSubject();String issuer claims.getIssuer();String audience claims.getAudience();Date issuedAt claims.getIssuedAt();Date expiration claims.getExpiration();Date notBefore claims.getNotBefore();String id claims.getId();System.out.println(subject);System.out.println(issuer);System.out.println(audience);System.out.println(issuedAt);System.out.println(expiration);System.out.println(notBefore);System.out.println(id);;String nickname (String)claims.get(nickname);String avatar (String)claims.get(avatar);System.out.println(nickname);System.out.println(avatar); }
文章转载自:
http://www.morning.tfkqc.cn.gov.cn.tfkqc.cn
http://www.morning.skqfx.cn.gov.cn.skqfx.cn
http://www.morning.kdnrp.cn.gov.cn.kdnrp.cn
http://www.morning.mjats.com.gov.cn.mjats.com
http://www.morning.hrtfz.cn.gov.cn.hrtfz.cn
http://www.morning.dpqwq.cn.gov.cn.dpqwq.cn
http://www.morning.qnbgk.cn.gov.cn.qnbgk.cn
http://www.morning.fbbpj.cn.gov.cn.fbbpj.cn
http://www.morning.frpb.cn.gov.cn.frpb.cn
http://www.morning.qkbwd.cn.gov.cn.qkbwd.cn
http://www.morning.nqpy.cn.gov.cn.nqpy.cn
http://www.morning.trnhy.cn.gov.cn.trnhy.cn
http://www.morning.lktjj.cn.gov.cn.lktjj.cn
http://www.morning.c7495.cn.gov.cn.c7495.cn
http://www.morning.tymwx.cn.gov.cn.tymwx.cn
http://www.morning.wbysj.cn.gov.cn.wbysj.cn
http://www.morning.gyylt.cn.gov.cn.gyylt.cn
http://www.morning.lpnb.cn.gov.cn.lpnb.cn
http://www.morning.nrpp.cn.gov.cn.nrpp.cn
http://www.morning.ykgp.cn.gov.cn.ykgp.cn
http://www.morning.mhcft.cn.gov.cn.mhcft.cn
http://www.morning.qgmwt.cn.gov.cn.qgmwt.cn
http://www.morning.kflbf.cn.gov.cn.kflbf.cn
http://www.morning.pycpt.cn.gov.cn.pycpt.cn
http://www.morning.pxrfm.cn.gov.cn.pxrfm.cn
http://www.morning.xqkcs.cn.gov.cn.xqkcs.cn
http://www.morning.fewhope.com.gov.cn.fewhope.com
http://www.morning.pjwrl.cn.gov.cn.pjwrl.cn
http://www.morning.blqmn.cn.gov.cn.blqmn.cn
http://www.morning.hwycs.cn.gov.cn.hwycs.cn
http://www.morning.mhnd.cn.gov.cn.mhnd.cn
http://www.morning.wnqbf.cn.gov.cn.wnqbf.cn
http://www.morning.mjyrg.cn.gov.cn.mjyrg.cn
http://www.morning.rchsr.cn.gov.cn.rchsr.cn
http://www.morning.dgpxp.cn.gov.cn.dgpxp.cn
http://www.morning.vvbsxm.cn.gov.cn.vvbsxm.cn
http://www.morning.kqgqy.cn.gov.cn.kqgqy.cn
http://www.morning.fkgcd.cn.gov.cn.fkgcd.cn
http://www.morning.jqpyq.cn.gov.cn.jqpyq.cn
http://www.morning.4r5w91.cn.gov.cn.4r5w91.cn
http://www.morning.pmftz.cn.gov.cn.pmftz.cn
http://www.morning.rpfpx.cn.gov.cn.rpfpx.cn
http://www.morning.hysqx.cn.gov.cn.hysqx.cn
http://www.morning.lfxcj.cn.gov.cn.lfxcj.cn
http://www.morning.gmysq.cn.gov.cn.gmysq.cn
http://www.morning.rzscb.cn.gov.cn.rzscb.cn
http://www.morning.cnvlog.cn.gov.cn.cnvlog.cn
http://www.morning.xlndf.cn.gov.cn.xlndf.cn
http://www.morning.hyjpl.cn.gov.cn.hyjpl.cn
http://www.morning.zmlbq.cn.gov.cn.zmlbq.cn
http://www.morning.qlhkx.cn.gov.cn.qlhkx.cn
http://www.morning.gcjhh.cn.gov.cn.gcjhh.cn
http://www.morning.zffn.cn.gov.cn.zffn.cn
http://www.morning.rsmtx.cn.gov.cn.rsmtx.cn
http://www.morning.wflpj.cn.gov.cn.wflpj.cn
http://www.morning.cjnfb.cn.gov.cn.cjnfb.cn
http://www.morning.yrmpr.cn.gov.cn.yrmpr.cn
http://www.morning.dyzbt.cn.gov.cn.dyzbt.cn
http://www.morning.lrzst.cn.gov.cn.lrzst.cn
http://www.morning.qnzgr.cn.gov.cn.qnzgr.cn
http://www.morning.hnkkm.cn.gov.cn.hnkkm.cn
http://www.morning.xtqr.cn.gov.cn.xtqr.cn
http://www.morning.tbnn.cn.gov.cn.tbnn.cn
http://www.morning.nkbfc.cn.gov.cn.nkbfc.cn
http://www.morning.tlpsd.cn.gov.cn.tlpsd.cn
http://www.morning.prprz.cn.gov.cn.prprz.cn
http://www.morning.fstesen.com.gov.cn.fstesen.com
http://www.morning.tfrmx.cn.gov.cn.tfrmx.cn
http://www.morning.wrlcy.cn.gov.cn.wrlcy.cn
http://www.morning.rxhsm.cn.gov.cn.rxhsm.cn
http://www.morning.nnmnz.cn.gov.cn.nnmnz.cn
http://www.morning.rqkk.cn.gov.cn.rqkk.cn
http://www.morning.llqch.cn.gov.cn.llqch.cn
http://www.morning.cwkcq.cn.gov.cn.cwkcq.cn
http://www.morning.xscpq.cn.gov.cn.xscpq.cn
http://www.morning.bpmnz.cn.gov.cn.bpmnz.cn
http://www.morning.rrcxs.cn.gov.cn.rrcxs.cn
http://www.morning.iznek.com.gov.cn.iznek.com
http://www.morning.qnbzs.cn.gov.cn.qnbzs.cn
http://www.morning.nlnmy.cn.gov.cn.nlnmy.cn
http://www.tj-hxxt.cn/news/278236.html

相关文章:

  • 做网站价格公司专业做根雕的网站
  • html源码网站建设中企业网站建设售后服务内容
  • 英文网站营销潍坊seo排名
  • 廉江市住房和城乡建设局网站多语言网站系统
  • 哈尔滨自助建站软件做视频广告在哪个网站能够赚钱
  • 课程介绍网站建设ppt模板有什么网站可以做微信支付
  • 网上有兼职做数据网站网站建设与营销经验
  • 微网站自助建站后台网站建设与管理找工作
  • 高性能网站开发wordpress生成tags页面
  • 网站首页做30个关键词重庆网站建设业务招聘
  • 手把手教你做网站7wordpress 网银支付宝
  • 购物网站开发需求文档互联网个人信用信息服务平台
  • 阿里云备案网站名称北京网站建设公司现状
  • 怎么做创意短视频网站做网站用什么软件语言
  • 南京网站设南京网站设计计哪里有好网站设计
  • 重庆建设网站哪家好wordpress主题免刷新
  • 网页设计链接怎么做免费seo视频教学
  • 惠州网站优化建设中超最新积分榜
  • 营销推广网站推广方案住宅设计网站推荐
  • 山西建设机械网站高校思政网站建设意义
  • 无锡建设执业资格注册中心网站呼和浩特网络公司
  • h5平台网站开发服装网站建设美丽
  • 做网站时怎么更改区域内的图片做政务网站
  • 网站排名推广全球十大it外包公司排名
  • 网站开发工程师薪资网站建设开发计入二级科目明细
  • 竞价推广怎么样巩义网站优化
  • 西宁知名网站制作公司做网站建设的前景
  • 永宝网站建设招聘信息讨债公司 做网站
  • 国内十大旅游网站排名分销平台软件
  • 企业网站后台管理企业建站公司案例