The Wallet(十五)— AToken钱包 - 知乎切换模式写文章登录/注册The Wallet(十五)— AToken钱包子房说房买房找子房,置业不迷茫AToken钱包概要AToken钱包是一款支持全币种的手机轻钱包。可实现多链一站管理(目前已支持主链10+),同时实现了钱包交易加速功能。支持国内几大数字货币交易的主流币种,便于国内用户使用。其中,AToken钱包支持的主链有BTC、ETH、EOS、LTC 、OjuT、BCH等,及分叉币BCD、BTG、BCH、SBTC等,以及所有基于以太坊的ERC20代币。AToken钱包即将上线的版本将全面支持EOS,及EOS操作系统上的代币。主要功能:1、用户自持私钥,易用安全私钥多重加密存储于APP,不以任何形式访问服务器,别人无法触碰用户的数字资产(安全性能高);AToken钱包采用5层HD、横向隔离、纵向防御架构(多安全性技术);应用PBKDF2、SHA-512等算法加密技术(技术架构的支持)。 2、一款钱包,全部币种避免用户为了存储不同币种而使用多款钱包的繁琐,支持BTC、LTC、ETH、ETC、DOGE、EOS等多个主链币种;BCD、BTG、BCH、SBTC等多个分叉币种;支持以太坊ERC20所有代币。币种全,简便了下载所有币种钱包的繁琐。 3、加速拥堵的交易全球首家实现无需矿池加速的去中心化交易加速功能,支持BTC、ETH及所有ERC20代币交易加速。解决了行业痛点(网络拥堵),AToken钱包利用技术对未被确认的交易优先被广播及打包。 钱包特点:1、区别化管理数字资产采用多钱包设计,满足用户分类管理自己的数字资产,聚合多钱包资产的结构化管理需求(便于管理自己数字货币)。2、钱包内交易功能,多币种互换满足用户进行多币种轻松互换,使用国际资深平台ShapeShift提供换币服务(多币互换,可实现资产的重新配置)。3、数字货币红包帮助用户连通互联网和区块链间的数字交流,支持所有ERC20的代币红包,避免批量转账必须收集地址的繁琐(像微信的红包功能一样,操作较为简便)。4、简单的使用智能合约降低智能合约调用的技术门槛,方便用户在钱包中便捷的调用智能合约(其中可选择8种合约,有EOS:Contribution、CryptoKitties、CryptoKitties Sales 、Auction等)。5、 分布式应用生态DAPP集成,打造区块链分布式应用平台(致力成为去中心化的流量入口)。 使命:安全易用的全币种钱包。 TW调查员评测报告如下: 一、用户体验在其官网下载的钱包,下载便捷。首先分别是导入钱包(支持imToken、Jaxx、Metamask)和创建钱包,这点与其它钱包是一样的。主要界面以黄色和白色为主,黄色给人一种温暖的感觉。添加客服的联系方式,AToken钱包解答问题态度热情。转账速度一般(根据主链上的矿工费),有显示所需费用,转账便捷。钱包界面的左上角有支持多钱包功能,可进行切换和添加新钱包。钱包的右上角为添加新币种功能,有11种已关联的币(其中有EOS、REP、BAT、SNT等)。页面上半部分显示的是用户的总资产,其中有公告活动的简单介绍,再下面就是支持的20种币。换币界面顾名思义就是具有换币功能,其中出入币种有14种(BTC、ETH、ETC、LTC、DOGE等一些主流币)。创世界面主要是一些简单的工具(红包、ETH智能合约、超级节点投票)和DAPP(小怪狐、以太妖怪、云斗龙),增加了钱包应用的乐趣。设置界面有:账户管理(绑定手机号)、修改密码、钱包管理等功能。操作简单易懂,大大方便了一些小白入圈。 二、安全评析从技术上,AToken钱包是一款去中心化轻钱包,采用五层HD钱包结构(只需备份一次),私钥存在手机本地,不接触网络。并且,私钥还通过钱包密码加密存储(AES256),需要签名时只有输入钱包的密码才能获取私钥,然后在构成交易中使用的私钥。助记词遵循BIP39标准产生,找回钱包只需记住原来拥有的钱包助记词,即可恢复自己钱包。再,主要是因为架构,私钥加密存储于客户端,没有集中存储管理。采用横向隔离,纵向防御架构PBKDF2、SHA512等加密技术。从资金的支持上,AToken钱包获得了节点资本、欧桔集团的投资。具有经济支持,钱包跑路风险小。三、市场评测从图中分析,AToken钱包拥有着一定量的拥护者。就市场推广而言,钱包还需加强推广力度。从2017年AToken钱包自成立以来,用户量有大概20万,用户量不大。以下数据显示的是下载量较小及下载渠道的评分较低,所以许多人并不知道AToken钱包。但AToken钱包的使用便利性、安全性及团队的实力,是其钱包推广的可靠性保证。 图中从左到右依次为:电报群、微博、qq群、天极应用的打分。四、团队评测AToken钱包的核心技术人员来自火币交易所钱包开发组,具有非常丰富的钱包开发经验,因此在钱包安全和技术支持方面具有极强的优势,且AToken钱包有AToken区块链研究院的全面支持,因此AToken在钱包技术上具有极强的技术优势。钱包的创始人边龙飞,原火币移动部门负责人和资深开发工程师,数字货币钱包方面有百万级用户服务的开发经验,对数字货币领域有突出贡献。同时,还有联合创始人杜均全球最早从事区块链产业投资的专业投资人,火币联合创始人,金色财经创始人。拥有的其它成员投资人张建、CTO陈飞扬、运营合伙人范丽等资深人士。团队实力较强,并且团队成员职位较为全面介绍详细,具有其真实性。五、特色功能1、 走势查看更加便捷,可随时了解(同步币安、Binance、Bittrex、CoiNBAse等,可选最佳投资机会)。2、 安全性高,可在线交流分析(私钥自持,便捷好用)。3、AToken钱包连接第三方,应用上具有特色的DAPP游戏。评测表:http://weixin.qq.com/r/tSgWDm-EJDJbrStt932n (二维码自动识别)发布于 2018-09-07 16:43数字货币钱包赞同添加评论分享喜欢收藏申请
钱包操作类常见问题解答——以AToken为例 - 知乎切换模式写文章登录/注册钱包操作类常见问题解答——以AToken为例C2BW区块链入口级的全币种多链钱包1. 安卓手机如何下载AToken?答:通过官网http://www.atoken.com,国内用户点击APK下载,海外用户点击google或在play下载,另可在各大应用商店搜索AToken进行下载。2. 苹果手机如何下载AToken?答:如果有海外ID,直接在APP Store搜索AToken即可下载;若没有海外ID,通过官网http://www.atoken.com下载苹果内测版本,点击安装,返回苹果主页,点击苹果系统设置---辅助功能---添加设备信任3. 如何创建钱包?答: 下载AToken---点开应用进入创建钱包--- 设置钱包名称和密码(此密码为支付密码,丢失或遗忘后无法找回,请进行备份)---备份助记词(助记词根据钱包私钥生成,用于找回钱包,请务必进行备份,切勿泄漏给他人,造成资产损失无法找回)---进入钱包4. 如何导出地址私钥?答:点击设置或钱包主界面钱包切换键---进入钱包管理---点击钱包需要操作的钱包右上角的三个小点菜单---进入导出私钥---选择需要操作的币种---选择地址---输入钱包密码---导出私钥(根据私钥可找回地址,并进行对应地址的转账支付等操作,请务必谨慎保存,勿随意泄漏至他人,造成资产损失将无法找回)5. 如何导出助记词?答:点击设置或钱包主界面钱包切换键---进入钱包管理---点击钱包需要操作的钱包右上角的三个小点菜单---进入备份钱包---输入密码---导出助记词(助记词根据钱包私钥生成,用于找回钱包,请务必进行备份,切勿泄漏给他人,造成资产损失无法找回)6. 为什么EOS账户私钥需要单独进行备份?答:目前暂时没有EOS助记词体系,导入助记词并不能同步导入EOS账户,因此为了防止EOS账户丢失,请务必单独备份EOS私钥,且勿泄漏给他人。7. 助记词导入失败的原因?答:仔细检查您输入的助记词是否正确,若输入正确,请确定您是否备份时抄写错误了。若您是截图进行保存的,且输入没有任何错误,请联系客服(ATOKENKF)反馈问题,AToken将进行bug收集及处理。AToken官方工作人员不会以任何形式索要用户助记词或者私钥!8. 钱包支付密码忘了能找回来吗?为什么?答:支付密码忘了不能找回,因为AToken钱包服务器不为用户保存任何私钥,密码,因此无法通过AToken后台找回。请所有用户进行备份。PS:无法通过支付密码找回私钥或者助记词!!!9. 支付密码忘了怎么办?答:若您已经备份好钱包的助记词及EOS账户私钥(如果没有EOS账户则无需备份),您可以:卸载AToken---重新下载AToken---点击应用---点击导入钱包---导入已经备份好的助记词---重新设置钱包名称---重新设置密码—完成导入如果您还有EOS账户私钥,请您继续以下操作:点击币种EOS---点击导入EOS钱包---输入备份好的EOS私钥或私钥对---完成导入10. 绑定手机号有什么用处?答: 用户可通过绑定的手机号进行AToken创世界面里红包功能的使用,可凭借手机号领取红包,发送红包等。11. 能否通过手机号找回支付密码?答:不能,如上所说,AToken不帮助用户保存支付密码和私钥,所以暂时不能提供凭借手机号找回密码的功能。12. 能否解绑手机号?答:一个手机号只能绑定一个钱包,且无法解绑。13. 如何进行转账支付?答:点击想要转账的币种---进入转账---填写收币地址—填写转币数量—选择性填写备注---选择性调节矿工费---点击确定---输入密码---等待区块打包---完成转账14. 如何知道自己的地址是什么?答:点击币种---点击收款--- 查看地址(复制地址)15. 转出转入时一直不到账,一直是未确认的状态时如何操作?答:查找相应区块链浏览器,输入转入或转出地址进行状态查询:ETH可用www.etherscan.io,BTC可用http://www.btc.com,EOS可用:http://www.eoseco.com,也可点击AToken创世界面区块链浏览器进行查询。如区块链上显示已确认,但您的AToken钱包地址里还未收到余额,请联系客服(ATOKENKF)微信,并提供地址进行处理。16. AToken的换币服务是什么?答:换币服务是AToken为用户方便集成的第三方换币平台的服务,目前换币服务由changelly提供。换币费用为:矿工费+changelly平台收取的0.5%的服务费。17. 代买卖服务是什么?答:AToken官方观察到,目前使用AToken产品的用户大部分为非成熟币圈用户,因此推出了代买卖服务为用户提供便利。18. 若以上问题列表仍无法解决您的需求,请直接联系客服添加微信:ATOKENKF请务必通过官方渠道反馈问题,谨防上当受骗! 发布于 2018-10-31 11:19数字货币钱包赞同 3添加评论分享喜欢收藏申请
Sa-Token
Sa-Token
首页
文档
案例
需求提交
加入讨论群
赞助
SSO商业版
相关资源
更新日志
常见报错
推荐公众号
相关博客
在线考试
在线提问
问卷调查
Sa-Tokenv1.37.0
一个轻量级 java 权限认证框架,让鉴权变得简单、优雅!
GitHub
码云
加入讨论群
开发文档
Sa-Token 支持特性
⚡️ 登录认证
多端登录、单端登录、同端互斥登录、七天免登录…… 多种登录策略只需改个配置即可完成
️️ 权限认证
权限认证、角色认证、会话二级认证、注解鉴权、路由鉴权……多种姿势灵活鉴权
⛏️ 踢人下线
强制注销、踢人下线、账号封禁、身份切换、自动续签 …… 提供完善的会话管理方案
Redis集成
提供 Redis 集成方案、项目重启数据不丢失、多系统数据互通,可自定义数据持久化策略
️️ 前后端分离
内置多种 Token 读取策略,适配APP、小程序、SPA单页应用等前后端分离场景
️ 单点登录
同域、跨域、共享Redis、跨Redis、前后端一体、前后端分离……提供各种架构下的SSO接入方案
OAuth2.0
轻松搭建 OAuth2.0 认证中心,支持四种授权模式,支持 openid 授权机制,支持二次扩展开发
️ 微服务支持
分布式 Session 会话、网关统一鉴权、RPC调用鉴权……提供开箱即用的微服务认证方案
️ 开箱即用
提供SpringMVC、WebFlux、Solon、jwt 等常见框架集成包,真正的开箱即用……
有了Sa-Token,你所有的权限认证问题,都不再是问题!
点击查看功能结构图
曾获荣誉
GVP - Gitee 最有价值开源项目
OSCHINA 2021 人气指数 TOP 30 开源项目
OSCHINA 2022 年度最火热中国开源项目社区
可信开源社区共同体预备成员
优秀开源集成案例
Snowy
小诺开源技术
国内首个国密前后分离快速开发平台,基于Vue3、Antdv、SaToken
RuoYi-Vue-Plus
疯狂的狮子Li
重写 RuoYi-Vue 所有功能,集成 Sa-Token、Mybatis-Plus、Hutool 定期同步
SpringBoot_v2
开源oschina
努力打造 springboot 框架的极致细腻的脚手架,原生纯净。
RuoYi-Cloud-Plus
疯狂的狮子Li
重写 RuoYi-Cloud 所有功能 整合 SpringCloudAlibaba、Dubbo3.0、Sa-Token
Sa-Plus
孔明
一个基于 SpringBoot 的快速开发框架,内置代码生成器
EasyAdmin
laker
轻量级的后台管理系统脚手架,内置代码生成器、权限管理、工作流引擎等
如果您的开源项目也使用了 Sa-Token,您可以
在此
提交
Sa-Token 官方公众号,及时接收框架更新通知、技术文章
正在使用 Sa-Token 的企业 / 机构
(如果您的企业也使用了 Sa-Token,您可以
在此
提交)
Dromara 成员项目
为往圣继绝学,一个人或许能走的更快,但一群人会走的更远。
Dromara 知识星球
友情链接
特别鸣谢
Dromara社区
ShenYu 网关
TLog 分布式日志
友情链接
阿里云
腾讯云
掘金 · 技术社区
联系我们
QQ群 :点击加入
邮箱:暂无
联系:暂无
Sa-Token 公众号
Copyright ©2022 Sa-Token java权限认证 | sa-token.cc | 鲁ICP备18046274号-4
AToken钱包官网新版上线,APP即将支持Fomo3D - 知乎切换模式写文章登录/注册AToken钱包官网新版上线,APP即将支持Fomo3DC2BW区块链入口级的全币种多链钱包AToken官网改版啦!!!-好消息:经AToken攻城狮的努力,AToken的官网终于迎来了改版,走向了国际化的路线!!着实可喜可贺,小编忍不住留下了激动的老泪~~知道大家不喜欢咱们的旧官网,偷偷告诉你们,小编也不喜欢说完这个小编会不会被炒鱿鱼呢,恐慌ing·····好啦,下面小编带大家看一看咱们的新官网吧!1主色调:大家都知道,yellow黄是咱们的主色调啦,官网改版后,咱们仍然延续着这个优良的传统,毕竟黄色看起来这么温暖2整体布局:整个官网的布局非常简单,首页展示的是AToken的所有功能和咱们得合作伙伴,在这里不得不提的是,AToken由节点资本和金色财经领投,更有Fcoin的鼎力相助,可聚合资源还是灰常充分的,未来AToken白皮书发布,通证激励体系上线,AToken将会迎来新的发展契机哦!不要错过。3关于:在关于界面里可以看到AToken的明星团队咯!正在码字的小编也在里边。为了让大家多关注咱们,小编好辛苦因为AToken是手机端轻钱包,所以大部分功能都是在手机APP展示,官网大家随意浏览。今天官网就改版咯,大家记得进http://www.atoken.com 瞅一眼,然后扫码下载AToken APP!另Fomo3D的内测已经开始咯,有兴趣成为挑战者的朋友,可以添加Fanny-moon的微信,备注挑战者,享受内测专属福利。编辑于 2018-09-30 19:08App Store区块链(Blockchain)赞同1 条评论分享喜欢收藏申请
await token.nonces(user);Aave Protocol View MethodsscaledBalanceOffunction scaledBalanceOf(address user)Returns the scaled supply balance of user. The scaled balance is the sum of all the updated stored balance divided by the reserve's liquidity index at the moment of the update.getScaledUserBalanceAndSupplyfunction getScaledUserBalanceAndSupply(address user)Returns the scaled balance of the user and the scaled total supply.scaledTotalSupplyfunction scaledTotalSupply()Returns the scaled total supply of the aToken.getPreviousIndexfunction getPreviousIndex(address user)Returns last index interest that was accrued to the user's balance (expressed in ray).getIncentivesControllerfunction getIncentivesController()Returns the address of the Incentives Controller contractPOOLfunction POOL()Returns the address of the associated Pool for the aToken.UNDERLYING_ASSET_ADDRESSfunction UNDERLYING_ASSET_ADDRESS()Returns address of the underlying reserve asset.RESERVE_TREASURY_ADDRESSfunction RESERVE_TREASURY_ADDRESS()Returns address of the Aave Treasury, controlled by governance, receiving the fee on this aToken.Aave Protocol Write MethodssetIncentivesControllerfunction setIncentivesController(IAaveIncentivesController controller)Sets a new Incentives Controller.Only Pool Admin can call this methods. To update Incentives Controller on main Aave market, Governance Proposal must be submitted.permitAllows a user to permit another account (or contract) to use their funds using a signed message. This enables gas-less transactions and single approval/transfer transactions.Copyimport { signTypedData_v4 } from 'eth-sig-util'
import { fromRpcSig } from 'ethereumjs-util'
// ... other imports
import aTokenAbi from "./aTokenAbi.json"
// ... setup your web3 provider
const aTokenAddress = "ATOKEN_ADDRESS"
const aTokenContract = new web3.eth.Contract(aTokenAbi, aTokenAddress)
const privateKey = "YOUR_PRIVATE_KEY_WITHOUT_0x"
const chainId = 1
const owner = "OWNER_ADDRESS"
const spender = "SPENDER_ADDRESS"
const value = 100 // Amount the spender is permitted
const nonce = 1 // The next valid nonce, use `_nonces()`
const deadline = 1600093162
const permitParams = {
types: {
EIP712Domain: [
{ name: "name", type: "string" },
{ name: "version", type: "string" },
{ name: "chainId", type: "uint256" },
{ name: "verifyingContract", type: "address" },
],
Permit: [
{ name: "owner", type: "address" },
{ name: "spender", type: "address" },
{ name: "value", type: "uint256" },
{ name: "nonce", type: "uint256" },
{ name: "deadline", type: "uint256" },
],
},
primaryType: "Permit",
domain: {
name: "aTOKEN_NAME",
version: "1",
chainId: chainId,
verifyingContract: aTokenAddress,
},
message: {
owner,
spender,
value,
nonce,
deadline,
},
}
const signature = signTypedData_v4(
Buffer.from(privateKey, "hex"),
{ data: permitParams }
)
// The signature can now be used to execute the transaction
const { v, r, s } = fromRpcSig(signature)
await aTokenContract.methods
.permit({
owner,
spender,
value,
deadline,
v,
r,
s
})
.send()
.catch((e) => {
throw Error(`Error permitting: ${e.message}`)
})FAQHow aToken earn interest? / How aToken balance increases?LendingPool methods (deposit, withdraw, borrow, repay, liquidationCall) updates the state and cumulated liquidity index of the reserve once every block. AToken's balanceOf method returns the balance computed based on block.timestamp and liquidityIndex of the underlying reserve and hence, returns the most up to date balance of account, which includes principal + interest.LiquidityRate vs LiquidityIndexCan I transfer aTokens?Yes! with few caveat to keep in mindBy transferring aTokens, you’re transferring your balance of the underlying asset. Only the account holding the aTokens can withdraw the deposited asset.AToken transfer will fail if the resulting Health Factor of user will end up being below 1.If I transfer aToken does my pending liquidity rewards get transferred?No, liquidity rewards earned prior to the transfer of aToken are accrued by the user/address holding the aTokens originally. Though, all future liquidity rewards will be earned by the new recipient.What is the difference between ScaledBalance and Balance?Example please!Let’s say you supply 1,000 DAI to the Aave LendingPool, you will receive 1,000 aDAI (at 1:1 exchange rate).You can see your aDAI balance increasing right away.Now, say a month later your aDAI balance is 1,050. You could withdraw 1,050 DAI from LendingPool by burning 1050 aDAI.PreviousWETHGatewayNextDebtTokenLast updated 6 months agoOn this pageWas this helpful?ParameterTypeDescriptionowneraddressThe owner of the fundsspenderaddressThe spender for the fundsvalueuint256The amount the spender is permitted to usedeadlineuint256The deadline timestamp that the permit is valid. Use type(uint).max for no deadline.vuint8Signature parameterrbytes32Signature parametersbytes32Signature parameterATokenEIP20 MethodsEIP712 MethodsDOMAIN_SEPARATORnoncesAave Protocol View MethodsscaledBalanceOfgetScaledUserBalanceAndSupplyscaledTotalSupplygetPreviousIndexgetIncentivesControllerPOOLUNDERLYING_ASSET_ADDRESSRESERVE_TREASURY_ADDRESSAave Protocol Write MethodssetIncentivesControllerpermit
Sa-Token: 一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!—— 登录认证、权限认证、分布式Session会话、微服务网关鉴权、单点登录、OAuth2.0
登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
Gitee AI
NEW
我知道了
查看详情
登录
注册
数据库,开炫!3月16日北京OSC源创会不见不散
代码拉取完成,页面将自动刷新
开源项目
>
WEB应用开发
>
OAuth/单点登录/统一认证
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
994
Star
31.5K
Fork
3.3K
GVPdromara / Sa-Token
代码
Issues
41
Pull Requests
6
Wiki
统计
流水线
服务
Gitee Pages
JavaDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
我知道了,不再自动展开
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号?
立即登录
返回
dev
管理
管理
分支 (6)
标签 (47)
dev
master
v1.36.0
v1.35.1
dev-temp
v1.6.0
v1.37.0
v1.36.0
v1.35.0
v1.34.0
v1.33.0
v1.32.0
v1.31.0
v1.30.0
v1.29.0
v1.28.0
v1.27.0
v1.26.0
v1.25.0
v1.24.0
v1.23.0
v1.22.0
v1.21.0
v1.20.0
v1.19.0
v1.18.0
克隆/下载
克隆/下载
HTTPS
SSH
SVN
SVN+SSH
下载ZIP
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
git config --global user.name userName
git config --global user.email userEmail
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1
生成 RSA 密钥
2
获取 RSA 公钥内容,并配置到 SSH公钥 中
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com':
#
私人令牌
新建文件
新建 Diagram 文件
新建子模块
上传文件
分支 6
标签 47
贡献代码
同步代码
创建 Pull Request
了解更多
对比差异
通过 Pull Request 同步
同步更新到分支
通过 Pull Request 同步
将会在向当前分支创建一个 Pull Request,合入后将完成同步
刘潇
更换qq群链接
562c369
1731 次提交
提交
取消
提示:
由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
.gitee
保存
取消
.github/ISSUE_TEMPLATE
保存
取消
.idea
保存
取消
sa-token-bom
保存
取消
sa-token-core
保存
取消
sa-token-demo
保存
取消
sa-token-dependencies
保存
取消
sa-token-doc
保存
取消
sa-token-plugin
保存
取消
sa-token-starter
保存
取消
sa-token-test
保存
取消
.gitignore
保存
取消
LICENSE
保存
取消
README.md
保存
取消
mvn clean.bat
保存
取消
mvn test.bat
保存
取消
pom.xml
保存
取消
Loading...
README
Apache-2.0
Sa-Token v1.37.0
一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!
前言:
在线文档:https://sa-token.cc
注:学习测试请拉取 master 分支,dev 是开发分支,有很多特性并不稳定(在项目根目录执行 git checkout master)。
开源不易,点个 star 鼓励一下吧!
Sa-Token 介绍
Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。
Sa-Token 旨在以简单、优雅的方式完成系统的权限认证部分,以登录认证为例,你只需要:
// 会话登录,参数填登录人的账号id
StpUtil.login(10001);
无需实现任何接口,无需创建任何配置文件,只需要这一句静态代码的调用,便可以完成会话登录认证。
如果一个接口需要登录后才能访问,我们只需调用以下代码:
// 校验当前客户端是否已经登录,如果未登录则抛出 `NotLoginException` 异常
StpUtil.checkLogin();
在 Sa-Token 中,大多数功能都可以一行代码解决:
踢人下线:
// 将账号id为 10077 的会话踢下线
StpUtil.kickout(10077);
权限认证:
// 注解鉴权:只有具备 `user:add` 权限的会话才可以进入方法
@SaCheckPermission("user:add")
public String insert(SysUser user) {
// ...
return "用户增加";
}
路由拦截鉴权:
// 根据路由划分模块,不同模块不同鉴权
registry.addInterceptor(new SaInterceptor(handler -> {
SaRouter.match("/user/**", r -> StpUtil.checkPermission("user"));
SaRouter.match("/admin/**", r -> StpUtil.checkPermission("admin"));
SaRouter.match("/goods/**", r -> StpUtil.checkPermission("goods"));
SaRouter.match("/orders/**", r -> StpUtil.checkPermission("orders"));
SaRouter.match("/notice/**", r -> StpUtil.checkPermission("notice"));
// 更多模块...
})).addPathPatterns("/**");
当你受够 Shiro、SpringSecurity 等框架的三拜九叩之后,你就会明白,相对于这些传统老牌框架,Sa-Token 的 API 设计是多么的简单、优雅!
Sa-Token 功能模块一览
Sa-Token 目前主要五大功能模块:登录认证、权限认证、单点登录、OAuth2.0、微服务鉴权。
登录认证 —— 单端登录、多端登录、同端互斥登录、七天内免登录
权限认证 —— 权限认证、角色认证、会话二级认证
Session会话 —— 全端共享Session、单端独享Session、自定义Session
踢人下线 —— 根据账号id踢人下线、根据Token值踢人下线
账号封禁 —— 登录封禁、按照业务分类封禁、按照处罚阶梯封禁
持久层扩展 —— 可集成Redis、Memcached等专业缓存中间件,重启数据不丢失
分布式会话 —— 提供jwt集成、共享数据中心两种分布式会话方案
微服务网关鉴权 —— 适配Gateway、ShenYu、Zuul等常见网关的路由拦截认证
单点登录 —— 内置三种单点登录模式:无论是否跨域、是否共享Redis,都可以搞定
OAuth2.0认证 —— 轻松搭建 OAuth2.0 服务,支持openid模式
二级认证 —— 在已登录的基础上再次认证,保证安全性
Basic认证 —— 一行代码接入 Http Basic 认证
独立Redis —— 将权限缓存与业务缓存分离
临时Token认证 —— 解决短时间的Token授权问题
模拟他人账号 —— 实时操作任意用户状态数据
临时身份切换 —— 将会话身份临时切换为其它账号
前后台分离 —— APP、小程序等不支持Cookie的终端
同端互斥登录 —— 像QQ一样手机电脑同时在线,但是两个手机上互斥登录
多账号认证体系 —— 比如一个商城项目的user表和admin表分开鉴权
Token风格定制 —— 内置六种Token风格,还可:自定义Token生成策略、自定义Token前缀
注解式鉴权 —— 优雅的将鉴权与业务代码分离
路由拦截式鉴权 —— 根据路由拦截鉴权,可适配restful模式
自动续签 —— 提供两种Token过期策略,灵活搭配使用,还可自动续签
会话治理 —— 提供方便灵活的会话查询接口
记住我模式 —— 适配[记住我]模式,重启浏览器免验证
密码加密 —— 提供密码加密模块,可快速MD5、SHA1、SHA256、AES、RSA加密
全局侦听器 —— 在用户登陆、注销、被踢下线等关键性操作时进行一些AOP操作
开箱即用 —— 提供SpringMVC、WebFlux等常见web框架starter集成包,真正的开箱即用
功能结构图:
Sa-Token-SSO 单点登录
Sa-Token-SSO 由简入难划分为三种模式,解决不同架构下的 SSO 接入问题:
系统架构
采用模式
简介
文档链接
前端同域 + 后端同 Redis
模式一
共享Cookie同步会话
文档、示例
前端不同域 + 后端同 Redis
模式二
URL重定向传播会话
文档、示例
前端不同域 + 后端 不同Redis
模式三
Http请求获取会话
文档、示例
前端同域:就是指多个系统可以部署在同一个主域名之下,比如:c1.domain.com、c2.domain.com、c3.domain.com
后端同Redis:就是指多个系统可以连接同一个Redis。PS:这里并不需要把所有项目的数据都放在同一个Redis中,Sa-Token提供了 [权限缓存与业务缓存分离] 的解决方案,详情戳:Alone独立Redis插件
如果既无法做到前端同域,也无法做到后端同Redis,那么只能走模式三,Http请求获取会话(Sa-Token对SSO提供了完整的封装,你只需要按照示例从文档上复制几段代码便可以轻松集成)
Sa-Token-OAuth2 授权认证
Sa-OAuth2 模块分为四种授权模式,解决不同场景下的授权需求
授权模式
简介
授权码(Authorization Code)
OAuth2.0 标准授权步骤,Server 端向 Client 端下放 Code 码,Client 端再用 Code 码换取授权 Token
隐藏式(Implicit)
无法使用授权码模式时的备用选择,Server 端使用 URL 重定向方式直接将 Token 下放到 Client 端页面
密码式(Password)
Client直接拿着用户的账号密码换取授权 Token
客户端凭证(Client Credentials)
Server 端针对 Client 级别的 Token,代表应用自身的资源授权
详细参考文档:https://sa-token.cc/doc.html#/oauth2/readme
使用 Sa-Token 的开源项目
[ Snowy ]:国内首个国密前后分离快速开发平台,采用 Vue3 + AntDesignVue3 + Vite + SpringBoot + Mp + HuTool + SaToken。
[ RuoYi-Vue-Plus ]:重写RuoYi-Vue所有功能 集成 Sa-Token+Mybatis-Plus+Jackson+Xxl-Job+knife4j+Hutool+OSS 定期同步
[ RuoYi-Cloud-Plus ]:重写RuoYi-Cloud所有功能 整合 SpringCloudAlibaba Dubbo3.0 Sa-Token Mybatis-Plus MQ OSS ES Xxl-Job Docker 全方位升级 定期同步
[ EasyAdmin ]:一个基于SpringBoot2 + Sa-Token + Mybatis-Plus + Snakerflow + Layui 的后台管理系统,灵活多变可前后端分离,也可单体,内置代码生成器、权限管理、工作流引擎等
[ YC-Framework ]:致力于打造一款优秀的分布式微服务解决方案。
[ Pig-Satoken ]:重写 Pig 授权方式为 Sa-Token,其他代码不变。
更多开源案例可参考:Awesome-Sa-Token
友情链接
[ OkHttps ]:轻量级 http 通信框架,API无比优雅,支持 WebSocket、Stomp 协议
[ Bean Searcher ]:专注高级查询的只读 ORM,使一行代码实现复杂列表检索!
[ Jpom ]:简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件。
[ TLog ]:一个轻量级的分布式日志标记追踪神器。
[ hippo4j ]:强大的动态线程池框架,附带监控报警功能。
[ hertzbeat ]:易用友好的开源实时监控告警系统,无需Agent,高性能集群,强大自定义监控能力。
[ Solon ]:一个更现代感的应用开发框架:更快、更小、更自由。
知识星球
交流群
QQ交流群:685792424 点击加入
微信交流群:
(扫码添加微信,备注:sa-token,邀您加入群聊)
加入群聊的好处:
第一时间收到框架更新通知。
第一时间收到框架 bug 通知。
第一时间收到新增开源案例通知。
和众多大佬一起互相 (huá shuǐ) 交流 (mō yú)。
Apache License
Version 2.0, January 2004
https://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2011-2019 hubin.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Starred
31.5K
Star
31.5K
Fork
3.3K
捐赠
126 人次
详情
最近捐赠记录
查看更多
正在加载...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
举报类型
请选择举报类型
举报原因
取消
发送
误判申诉
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
取消
提交
简介
一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!—— 登录认证、权限认证、分布式Session会话、微服务网关鉴权、单点登录、OAuth2.0
展开
收起
OAuth2
单点登录
微服务
登录认证
权限认证
暂无标签
https://sa-token.cc
Java
等 6 种语言
Java
90.3%
HTML
5.1%
JavaScript
2.0%
CSS
1.8%
Vue
0.6%
Other
0.2%
Apache-2.0
使用 Apache-2.0 开源许可协议
保存更改
取消
发行版
(32)
全部
Sa-Token v1.37.0 发布,轻量级权限认证框架
开源评估指数源自 OSS-Compass 评估体系,评估体系围绕以下三个维度对项目展开评估:
1. 开源生态
生产力:来评估开源项目输出软件制品和开源价值的能力。
创新力:用于评估开源软件及其生态系统的多样化程度。
稳健性:用于评估开源项目面对多变的发展环境,抵御内外干扰并自我恢复的能力。
2. 协作、人、软件
协作:代表了开源开发行为中协作的程度和深度。
人:观察开源项目核心人员在开源项目中的影响力,并通过第三方视角考察用户和开发者对开源项目的评价。
软件:从开源项目对外输出的制品评估其价值最终落脚点。也是开源评估最“古老”的主流方向之一“开源软件” 的具体表现。
3. 评估模型
基于“开源生态”与“协作、人、软件”的维度,找到与该目标直接或间接相关的可量化指标,对开源项目健康与生态进行量化评估,最终形成开源评估指数。
贡献者
全部
近期动态
加载更多
不能加载更多了
编辑仓库简介
简介内容
一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!—— 登录认证、权限认证、分布式Session会话、微服务网关鉴权、单点登录、OAuth2.0
主页
取消
保存更改
Java
1
https://gitee.com/dromara/sa-token.git
git@gitee.com:dromara/sa-token.git
dromara
sa-token
Sa-Token
dev
深圳市奥思网络科技有限公司版权所有
Git 大全
Git 命令学习
CopyCat 代码克隆检测
APP与插件下载
Gitee Reward
Gitee 封面人物
GVP 项目
Gitee 博客
Gitee 公益计划
Gitee 持续集成
OpenAPI
帮助文档
在线自助服务
更新日志
关于我们
加入我们
使用条款
意见建议
合作伙伴
售前咨询客服
技术交流QQ群
微信服务号
client#oschina.cn
企业版在线使用:400-606-0201
专业版私有部署:
13670252304
13352947997
开放原子开源基金会
合作代码托管平台
违法和不良信息举报中心
粤ICP备12009483号
简 体
/
繁 體
/
English
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册
iToken HD | A Secure Multi-Chain DeFi Crypto Wallet. Your Gateway to Web 3.0
Features
A Global Crypto Wallet & Gateway to Web 3.0 Start your journey of blockchain now. Choices by 10 million of users worldwide. Download Only download apps from official stores like the App Store (for iOS) or Google Play Store (for Android). All-in-One App for Your Digital Assets Security Detection HD Wallet Browser for DApp Collect NFT Safely store 1M+ cryptocurrencies Real-time market data An Innovative Crypto Wallet with Multi-Chain Support Simplest way to track, send, store, exchange & buy Cryptos, and invest in NFTs. Your Key to the World of Web 3.0 Get the up-to-date market trends at our built-in TVL Ranking & DeFi Explorer & NFT Industry Data Aggregator. Find a latest overview of the DeFi's market cap, trending NFTs and top projects in one place. —NFT, DeFi, DAO, DApp, Cryptocurrency, GameFi, etc. Prioritize User Asset Security Above All - Enjoy full control over your assets with custody of your private keys. - Security Detection Functions to effectively detect the risks of your wallet. - Patented technologies in data isolation and encryption to safeguard mnemonics, private keys, and transaction security. - Our Customer Support is available 24/7 to answer any of your questions regarding iToken HD. Start Your Journey in 3 Steps Download iToken HD Create Wallet Deposit Crypto
Download Now
Partners Download iToken HD to start your DeFi journey Your private keys of wallet is the only way to keep your digital assets safe. We will never collect or access your private keys or mnemonics of your wallets. Download Android Download Android Apk
Google Play
Copyright © 2018-2024 iToken
ITOKEN HD WALLET
About Us Crypto Wallet for iOS Crypto Wallet for Android
INFORMATION
User Agreement
Follow us
java项目Shiro、SpringSecurity、Sa-Token如何选择? - 知乎首页知乎知学堂发现等你来答切换模式登录/注册Java权限权限管理tokenjava项目Shiro、SpringSecurity、Sa-Token如何选择?百度了不少博客,都说Shiro比较轻量级,SpringSecurity太重不适合敏捷开发, 最近看了Sa-Token看官网介绍挺全的,有人用过Sa-T…显示全部 关注者89被浏览744,628关注问题写回答邀请回答好问题 7添加评论分享38 个回答默认排序爱做梦的程序员 关注作为一个又菜又爱玩的程序猴(自我感觉离猿总差一点点),GitHub拥有7.7k的star项目,自然是要找时间试试的。项目图第一次看到这个项目的时候,是在gitee的GVP推荐中看到的,一直都没有时间深入的了解。最近可用于摸鱼的时间多了起来,简单看了下这个项目的文档,惊讶于文档的详细,是我喜欢的样子(中文文档),所以决定写两行代码试试。先建一个基础springboot项目基础项目项目中仅包含spring-boot-starter、spring-boot-starter-test、spring-boot-starter-web
随便给指定一个端口server:
port: 9999启动一下没有问题,接下来在项目中引入Sa-Token依赖
重启项目引入成功项目启动时打印出来了Sa-Token的内容,引入成功。新建一个Controller,用来测试基本功能package com.demo.satoken;
import cn.dev33.satoken.stp.StpUtil;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/user/")
public class UserController {
// 测试登录,浏览器访问: http://localhost:9999/user/doLogin?username=zhang&password=123456
@RequestMapping("doLogin")
public String doLogin(String username, String password) {
// 此处仅作模拟示例,真实项目需要从数据库中查询数据进行比对
if("zhang".equals(username) && "123456".equals(password)) {
StpUtil.login(10001);
return "登录成功";
}
return "登录失败";
}
// 查询登录状态,浏览器访问: http://localhost:9999/user/isLogin
@RequestMapping("isLogin")
public String isLogin() {
return "当前会话是否登录:" + StpUtil.isLogin();
}
}再次重启项目先在浏览器打开http://localhost:9999/user/isLogin,查询一下登录状态未登录登录一下登录再次检查登录状态登录成功看得出来,比起Shiro、SpringSecurity这些被广泛使用的鉴权项目,这个项目的集成使用方式可以简单到令人发指。突然更有兴趣了,后续我会继续体验这个项目,有兴趣了解这个项目的请自行查看。文档地址:http://sa-token.dev33.cn/项目地址:https://gitee.com/dromara/sa-token发布于 2022-04-09 17:10赞同 97 条评论分享收藏喜欢收起千里象千里象是中原英才旗下IT技术交流平台 关注Shiro、SpringSecurity、Sa-Token都属于Java的权限框架。Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但应对中小型项目完全足够。Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI和AOP功能,为应用系统提供声明式的安全访问控制功能,但是Spring Security 相较于 Apache Shiro 更复杂,学习成本高,仅限于Spring框架中使用,相较于Apache Shiro在权限控制方面更灵活。Sa-Token和Shrio一样也是一个轻量级的java安全框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0 等一系列权限相关问题,相较于shiro,Sa-Token更适合于前后台分离架构,功能强大, 上手简单。缺点:没有Shiro知名度高,出现较晚发布于 2021-04-20 11:44赞同 106 条评论分享收藏喜欢