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

股票分析网站可以做推广吗2008年互联网公司排名

股票分析网站可以做推广吗,2008年互联网公司排名,百度手机端排名,建设大淘客网站前言 单点登录#xff08;Single Sign-On#xff0c;简称SSO#xff09;是一种身份验证和访问控制机制#xff0c;允许用户使用一组凭证#xff08;如登录名和密码#xff09;登录到多个应用程序中#xff0c;而无需为每个应用程序单独进行身份验证。用户只需要登录一次…前言 单点登录Single Sign-On简称SSO是一种身份验证和访问控制机制允许用户使用一组凭证如登录名和密码登录到多个应用程序中而无需为每个应用程序单独进行身份验证。用户只需要登录一次就可以访问所有系统的应用和资源。相对于传统的每个系统都需要登录一次的方式单点登录可以提高用户体验降低用户的登录成本。在本文中我们将通过使用JWTJSON Web Token和Redis来实现SSO功能并提供详细的Java代码实例。 一、实现单点登录的步骤 设计登录系统 设计登录系统时需要考虑如何通过登录信息验证用户身份并生成令牌Token同时将Token保存在服务器端和客户端。 实现令牌传递和验证 在用户通过登录系统进行登录和身份验证后应用程序要将Token返回给客户端由客户端在访问其他应用时携带Token进行验证。 支持跨域访问 由于SSO需要支持不同的域名和端口之间的单点登录所以应用程序需要支持跨域访问。传统的方式是使用Cookies来处理SSO但如果采用Cookies会有跨站脚本攻击XSS和跨站请求伪造CSRF的安全问题。因此在现代Web应用程序中通常使用 JSON Web TokenJWT或OAuth 2.0来实现单点登录和授权。 二、Java实现单点登录的代码示例 下面我们给出一个基于Spring Boot和JWT和Redis的Java实现单点登录的样例代码。 1.添加依赖 在我们的Spring Boot项目中添加如下JWT和Redis的依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependency dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion3.7.0/version /dependency dependencygroupIdio.jsonwebtoken/groupIdartifactIdjjwt/artifactIdversion0.11.2/version /dependency2.配置Redis连接 在application.properties文件中添加以下Redis连接信息 spring:redis:host: localhostport: 6379password: your_pwdjedis:pool:max-active: 1024max-wait: 10000max-idle: 200min-idle: 10timeout: 10000 jwt:secret: your_secret_keytoken:expireTime: 36003.实现JWT Token工具类 import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component;import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit;Component public class JwtTokenUtil {Value(${jwt.secret})private String secret;Value(${jwt.token.expireTime})private Long expireTime;private final String TOKEN_CACHE_PREFIX token:;Autowiredprivate RedisTokenUtils redisTokenUtils;public String generateToken(String username) {MapString, Object claims new HashMap();claims.put(sub, username);claims.put(created, new Date());String token Jwts.builder().setClaims(claims).setExpiration(generateExpirationDate()).signWith(SignatureAlgorithm.HS512, secret).compact();redisTokenUtils.setToken(TOKEN_CACHE_PREFIX username, token);return token;}// 其他方法...// 注意事项// - 加密密钥secret需要保密且足够复杂。// - JWT Token的有效期应根据实际需求进行设置。 }4.实现Redis Token存储工具类 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component;import java.util.Date; import java.util.concurrent.TimeUnit;Component public class RedisTokenUtils {Value(${jwt.token.expireTime})private Long expireTime;Autowiredprivate RedisTemplateString, Object redisTemplate;public void setToken(String key, Object value) {redisTemplate.opsForValue().set(key, value, expireTime, TimeUnit.MINUTES);}public void deleteToken(String key) {redisTemplate.delete(key);}// 其他方法...// 注意事项// - Redis的连接配置需要正确设置。// - Token的存储和删除应在合适的时机进行。 }5. 实现登录逻辑 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;Service public class AuthService {Autowiredprivate JwtTokenUtil jwtTokenUtil;public String login(String username, String password) {// 验证用户名和密码的逻辑// ...String token jwtTokenUtil.generateToken(username);return token;} }6. 实现登出逻辑 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;Service public class AuthService {Autowiredprivate JwtTokenUtil jwtTokenUtil;public void logout(String username) {jwtTokenUtil.deleteToken(username);} }三、注意事项 在使用JWT和Redis实现SSO时需要注意以下事项 密钥secret的安全性很重要并应保密且足够复杂。比如在生成Token时使用合适的算法进行签名以确保Token的安全性。验证Token时需要使用相同的算法和密钥进行解密和验证。同时还需要对Token的合法性进行校验比如检查Token是否过期、是否被篡改等。令牌的有效期应根据实际需求进行设置过长的有效期可能会增加安全风险而过短的有效期可能会导致频繁的重新登录。在用户登出或注销操作时应及时删除对应的令牌以避免令牌被滥用。 总结 通过结合JWT和Redis我们可以轻松实现单点登录SSO的功能。JWT用于生成和验证令牌而Redis用于存储和管理令牌。JWT提供了一种轻量级的、无状态的身份验证机制而Redis则提供了持久化存储和高性能的缓存功能。通过这样的组合我们可以实现身份认证的高效和可靠同时提供了可配置的令牌有效期功能保证了系统的安全性。
http://www.pierceye.com/news/351830/

相关文章:

  • 百合怎么做网站网站开发语
  • 网站搭建哪里找最好天津市建设工程信息网站
  • 有免费注册网站吗做教育网站还挣钱吗
  • 网站做百度推广需要哪些条件店铺推广软文范例
  • 台州企业网站搭建特点迅美网站建设
  • 做营销网站推广官方网站建设方法
  • 网页设计精选网站网站查询功能怎么做
  • 重庆专业网站推广流程建立平台的步骤
  • 舟山市普陀区建设局网站net网站开发 兼职
  • 网站备案流程阿里云南宁网站建设官网
  • h5网站制作介绍简单的静态 新闻 asp 网站源码
  • 济南seo网站推广公司帮别人做彩票网站吗
  • 郑州市网站建设怎么样wordpress wp editor
  • 台州网站建设 推广公司网络营销课程总结范文
  • 网站 外包 版权杭州做官网的有哪些公司
  • 微信网站html5中山平面设计公司
  • 建站网站教程视频世界网站排名
  • 做小程序的流程seo 整站优化
  • 网站前台代码国内网站主机
  • 网站后台asp源码高明顺德网站建设
  • 网站建设推广软文网络规划设计师考试全程指导(第2版) pdf
  • 备案网站多少钱支持wordpress的空间
  • 哈尔滨网页模板建站wordpress网页设定
  • 哔哩哔哩网站怎么做视频软件进入公众号会不会泄露个人信息
  • 域名过期做的网站怎么办wap网站前景
  • 网站设计公司 宁波少儿编程课
  • 建设信用卡银行积分商城网站网站关键词优化培训
  • 网站建设对电子商务的意义深圳网站设计兴田德润简介
  • 门设计的网站建设北京最大专业网站建设
  • 黄埔建网站公司长沙 网页制作