Hero Circle Shape
Hero Moon Shape
Hero Right Shape
bitpie比特派app中文下载|atoken官网

bitpie比特派app中文下载|atoken官网

  • 作者: bitpie比特派app中文下载
  • 2024-03-12 16:50:00

The Wallet(十五)— AToken钱包 - 知乎

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为例 - 知乎切换模式写文章登录/注册钱包操作类常见问题解答——以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

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即将支持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 条评论​分享​喜欢​收藏​申请

AToken | v3 | Developers

en | v3 | DevelopersDevelopersv3v1v2v3v3 Contractsv2 Contractsv1 ContractsSearchCtrl + KGetting StartedV3 OverviewContracts OverviewL2 OptimizationL2PoolL2EncoderV3 WhitepaperProtocol Features SummaryWhat's New?GHOMigrating Positions from v2 to v3PortalEfficiency Mode (eMode)Isolation ModeSiloed BorrowingSupply Borrow CapsRepay With aTokensMultiple Rewards and ClaimGuidesCredit DelegationFlash LoansLiquidationsTesting GuideGovernance GuideAsset ListingRewardsPermissionsParameter TuningRates GuideAavenomicsCore ContractsACLManagerAaveProtocolDataProviderPoolAddressesProviderPoolAddressesProviderRegistryPriceOracleSentinelPoolPoolConfiguratorAaveOraclePeriphery ContractsRewardsControllerUiIncentiveDataProviderV3UiPoolDataProviderV3WalletBalanceProviderWETHGatewayTokensATokenDebtTokenDelegationAwareATokenDeployed ContractsV3 Testnet AddressesV3 MainnetEthereum MainnetOptimismArbitrumPolygonFantomAvalancheHarmonyMetisBaseGnosis ChainBNB ChainScrollGovernanceDeployed ContractsSecurity & AuditsFAQCareersBug BountyPowered by GitBookATokenATokenaTokens are tokens minted and burnt upon supply and withdraw of assets to an Aave market, which denote the amount of crypto assets supplied and the yield earned on those assets. The aTokens’ value is pegged to the value of the corresponding supplied asset at a 1:1 ratio and can be safely stored, transferred or traded. All yield collected by the aTokens' reserves are distributed to aToken holders directly by continuously increasing their wallet balance.EIP20 MethodsAll standard EIP20 methods are implemented for aTokens, such as balanceOf, transfer, transferFrom, approve, totalSupply etc. `balanceOf` will always return the most up to date balance of the user, which includes their principal balance + the yield generated by the principal balance.EIP712 MethodsDOMAIN_SEPARATORfunction DOMAIN_SEPARATOR()Get the domain separator for the token at current chain.noncesfunction nonces(address owner)Returns the nonce value for address specified as parameter. This is the nonce used when calling permit()Copyconst token = new Contract(aTokenAddress, aToken.abi, provider);

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

Just a moment...

a moment...Enable JavaScript and cookies to conti

Sa-Token: 一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!—— 登录认证、权限认证、分布式Session会话、微服务网关鉴权、单点登录、OAuth2.0

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

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项目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

org.springframework.boot

spring-boot-starter

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-starter-web

2.0.3.RELEASE

随便给指定一个端口server:

port: 9999启动一下没有问题,接下来在项目中引入Sa-Token依赖

cn.dev33

sa-token-spring-boot-starter

1.28.0

重启项目引入成功项目启动时打印出来了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​赞同 9​​7 条评论​分享​收藏​喜欢收起​千里象千里象是中原英才旗下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​赞同 10​​6 条评论​分享​收藏​喜欢