CSFramework.WebApiV3.WebApi系统安全
组织结构图
系统安全保障机制由以下九个部分组成:
User - 用户账号:通过用户账号和密码确保有效访问,系统支持用户账号、手机号、邮箱登录。
Token - 令牌机制:通过令牌机制确保有效访问。用户登录成功,系统自动分配随机令牌编号。
ApiKey - 开发者账号:WebApi接口常用安全机制,使用公钥+私钥加密方式,确保系统安全。
Data Sign - 数据签名:WebApi接口常用安全机制,使用公钥+私钥加密方式,确保系统安全。
Blacklist - 黑名单:针对黑名单用户限制访问或操作,此功能可配置使用。
Whitelist – 白名单:白名单IP用户拥有特殊的通道,此功能可配置使用。
Throttle - 限流控制:有效避免频繁访问、恶意访问WebApi接口,此功能可配置使用。
ApiLog - 接口访问日志:针对任何Http请求,服务端会记录接口访问记录,此功能可配置使用。
Login Log - 系统登录日志:记录用户登入或登出系统的信息。
数据加密/解密:提供CryptoHelper工具类,以及4种对称加密工具。
Token介绍
Token是服务端生成的一串字符串,作为客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,
以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。token其实说的更通俗点可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。
什么是JWT?
Json Web Token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。该token被设计为紧凑且安全的,
特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,
也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
JWT Token生成与认证
参考文章:https://www.cscode.net/archive/newdoc/358250642501637.html
https://www.cscode.net/archive/newdoc/358215880695813.html