环球热议:什么是单点登录?回顾单系统登录
一、什么是单点登录?
单点登录的英文名叫做:Single Sign On(简称SSO)。
在初学/以前的时候,一般我们就单系统,所有的功能都在同一个系统上。
(资料图片仅供参考)
所有的功能都在同一个系统上
后来,我们为了合理利用资源和降低耦合性,于是把单系统拆分成多个子系统。
拆分成多个子系统
比如阿里系的淘宝和天猫,很明显地我们可以知道这是两个系统,但是你在使用的时候,登录了天猫,淘宝也会自动登录。
登录了天猫,淘宝也登录了
简单来说,单点登录就是在多个系统中,用户只需一次登录,各个系统即可感知该用户已经登录。
二、回顾单系统登录
在我初学JavaWeb的时候,登录和注册是我做得最多的一个功能了(初学Servlet的时候做过、学SpringMVC的时候做过、跟着做项目的时候做过…),反正我也数不清我做了多少次登录和注册的功能了…这里简单讲述一下我们初学时是怎么做登录功能的。
众所周知,HTTP是无状态的协议,这意味着服务器无法确认用户的信息。于是乎,W3C就提出了:给每一个用户都发一个通行证,无论谁访问的时候都需要携带通行证,这样服务器就可以从通行证上确认用户的信息。通行证就是Cookie。
如果说Cookie是检查用户身上的”通行证“来确认用户的身份,那么Session就是通过检查服务器上的”客户明细表“来确认用户的身份的。Session相当于在服务器中建立了一份“客户明细表”。
HTTP协议是无状态的,Session不能依据HTTP连接来判断是否为同一个用户。于是乎:服务器向用户浏览器发送了一个名为JESSIONID的Cookie,它的值是Session的id值。其实Session是依据Cookie来识别是否是同一个用户。
所以,一般我们单系统实现登录会这样做:
登录
将用户信息保存在Session对象中
如果在Session对象中能查到,说明已经登录
如果在Session对象中查不到,说明没登录(或者已经退出了登录)
注销(退出登录)
从Session中删除用户的信息
记住我
(关闭掉浏览器后,重新打开浏览器还能保持登录状态)配合Cookie来用
我之前Demo的代码,可以参考一下:
/** * 用户登陆 */@PostMapping(value = "/user/session", produces = {"application/json;charset=UTF-8"})public Result login(String mobileNo, String password, String inputCaptcha, HttpSession session, HttpServletResponse response) { //判断验证码是否正确 if (WebUtils.validateCaptcha(inputCaptcha, "captcha", session)) { //判断有没有该用户 User user = userService.userLogin(mobileNo, password); if (user != null) { /*设置自动登陆,一个星期. 将token保存在数据库中*/ String loginToken = WebUtils.md5(new Date().toString() + session.getId()); user.setLoginToken(loginToken); User user1 = userService.userUpload(user); session.setAttribute("user", user1); CookieUtil.addCookie(response,"loginToken",loginToken,604800); return ResultUtil.success(user1); } else { return ResultUtil.error(ResultEnum.LOGIN_ERROR); } } else { return ResultUtil.error(ResultEnum.CAPTCHA_ERROR); }}/** * 用户退出 */@DeleteMapping(value = "/session", produces = {"application/json;charset=UTF-8"})public Result logout(HttpSession session,HttpServletRequest request,HttpServletResponse response ) { //删除session和cookie session.removeAttribute("user"); CookieUtil.clearCookie(request, response, "loginToken"); return ResultUtil.success();}/*** @author ozc* @version 1.0* * 拦截器;实现自动登陆功能*/public class UserInterceptor implements HandlerInterceptor {@Autowiredprivate UserService userService;public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception { User sessionUser = (User) request.getSession().getAttribute("user"); // 已经登陆了,放行 if (sessionUser != null) { return true; } else { //得到带过来cookie是否存在 String loginToken = CookieUtil.findCookieByName(request, "loginToken"); if (StringUtils.isNotBlank(loginToken)) { //到数据库查询有没有该Cookie User user = userService.findUserByLoginToken(loginToken); if (user != null) { request.getSession().setAttribute("user", user); return true; } else { //没有该Cookie与之对应的用户(Cookie不匹配) CookieUtil.clearCookie(request, response, "loginToken"); return false; } } else { //没有cookie、也没有登陆。是index请求获取用户信息,可以放行 if (request.getRequestURI().contains("session")) { return true; } //没有cookie凭证 response.sendRedirect("/login.html"); return false; } }}}
总结一下上面代码的思路:
用户登录时,验证用户的账户和密码
生成一个Token保存在数据库中,将Token写到Cookie中
将用户数据保存在Session中
请求时都会带上Cookie,检查有没有登录,如果已经登录则放行
三、多系统登录的问题与解决
3.1 Session不共享问题
单系统登录功能主要是用Session保存用户信息来实现的,但我们清楚的是:多系统即可能有多个Tomcat,而Session是依赖当前系统的Tomcat,所以系统A的Session和系统B的Session是不共享的。
系统A的Session和系统B的Session是不共享的
解决系统之间Session不共享问题有一下几种方案:
Tomcat集群Session全局复制(集群内每个tomcat的session完全同步)【会影响集群的性能呢,不建议】
根据请求的IP进行Hash映射到对应的机器上(这就相当于请求的IP一直会访问同一个服务器)【如果服务器宕机了,会丢失了一大部分Session的数据,不建议】
把Session数据放在Redis中(使用Redis模拟Session)【建议】
我们可以将登录功能单独抽取出来,做成一个子系统。
抽取出来成为子系统
SSO(登录系统)的逻辑如下:
// 登录功能(SSO单独的服务)@Overridepublic TaotaoResult login(String username, String password) throws Exception { //根据用户名查询用户信息 TbUserExample example = new TbUserExample(); Criteria criteria = example.createCriteria(); criteria.andUsernameEqualTo(username); List list = userMapper.selectByExample(example); if (null == list || list.isEmpty()) { return TaotaoResult.build(400, "用户不存在"); } //核对密码 TbUser user = list.get(0); if (!DigestUtils.md5DigestAsHex(password.getBytes()).equals(user.getPassword())) { return TaotaoResult.build(400, "密码错误"); } //登录成功,把用户信息写入redis //生成一个用户token String token = UUID.randomUUID().toString(); jedisCluster.set(USER_TOKEN_KEY + ":" + token, JsonUtils.objectToJson(user)); //设置session过期时间 jedisCluster.expire(USER_TOKEN_KEY + ":" + token, SESSION_EXPIRE_TIME); return TaotaoResult.ok(token);}
其他子系统登录时,请求SSO(登录系统)进行登录,将返回的token写到Cookie中,下次访问时则把Cookie带上:
public TaotaoResult login(String username, String password, HttpServletRequest request, HttpServletResponse response) { //请求参数 Map param = new HashMap<>(); param.put("username", username); param.put("password", password); //登录处理 String stringResult = HttpClientUtil.doPost(REGISTER_USER_URL + USER_LOGIN_URL, param); TaotaoResult result = TaotaoResult.format(stringResult); //登录出错 if (result.getStatus() != 200) { return result; } //登录成功后把取token信息,并写入cookie String token = (String) result.getData(); //写入cookie CookieUtils.setCookie(request, response, "TT_TOKEN", token); //返回成功 return result;}
总结:
SSO系统生成一个token,并将用户信息存到Redis中,并设置过期时间
其他系统请求SSO系统进行登录,得到SSO返回的token,写到Cookie中
每次请求时,Cookie都会带上,拦截器得到token,判断是否已经登录
到这里,其实我们会发现其实就两个变化:
将登陆功能抽取为一个系统(SSO),其他系统请求SSO进行登录
本来将用户信息存到Session,现在将用户信息存到Redis
3.2 Cookie跨域的问题
上面我们解决了Session不能共享的问题,但其实还有另一个问题。Cookie是不能跨域的
比如说,我们请求时,浏览器会自动把google.com的Cookie带过去给google的服务器,而不会把的Cookie带过去给google的服务器。
这就意味着,由于域名不同,用户向系统A登录后,系统A返回给浏览器的Cookie,用户再请求系统B的时候不会将系统A的Cookie带过去。
针对Cookie存在跨域问题,有几种解决方案:
服务端将Cookie写到客户端后,客户端对Cookie进行解析,将Token解析出来,此后请求都把这个Token带上就行了
多个域名共享Cookie,在写到客户端的时候设置Cookie的domain。
将Token保存在SessionStroage中(不依赖Cookie就没有跨域的问题了)
到这里,我们已经可以实现单点登录了。
3.3 CAS原理
说到单点登录,就肯定会见到这个名词:CAS (Central Authentication Service),下面说说CAS是怎么搞的。
如果已经将登录单独抽取成系统出来,我们还能这样玩。现在我们有两个系统,分别是www.java3y.com和www.java4y.com,一个SSOwww.sso.com
现在我们有三个系统
首先,用户想要访问系统Awww.java3y.com受限的资源(比如说购物车功能,购物车功能需要登录后才能访问),系统Awww.java3y.com发现用户并没有登录,于是重定向到sso认证中心,并将自己的地址作为参数。
sso认证中心发现用户未登录,将用户引导至登录页面,用户进行输入用户名和密码进行登录,用户与认证中心建立全局会话(生成一份Token,写到Cookie中,保存在浏览器上)
4步过程
随后,认证中心重定向回系统A,并把Token携带过去给系统A,
接着,系统A去sso认证中心验证这个Token是否正确,如果正确,则系统A和用户建立局部会话(创建Session)。到此,系统A和用户已经是登录状态了。
第五步和第六步
此时,用户想要访问系统受限的资源(比如说订单功能,订单功能需要登录后才能访问),系统发现用户并没有登录,于是重定向到sso认证中心,并将自己的地址作为参数。
注意,因为之前用户与认证中心已经建立了全局会话(当时已经把Cookie保存到浏览器上了),所以这次系统B重定向到认证中心是可以带上Cookie的。
认证中心根据带过来的Cookie发现已经与用户建立了全局会话了,认证中心重定向回系统B,并把Token携带过去给系统B
接着,系统B去sso认证中心验证这个Token是否正确,如果正确,则系统B和用户建立局部会话(创建Session)。到此,系统B和用户已经是登录状态了。
系统B的流程图
看到这里,其实SSO认证中心就类似一个中转站。
标签:
相关推荐:
精彩放送:
- []北戴河是哪个省或者哪个市?北戴河是哪个省?
- []全球速看:赞美诗《小小的梦想》歌词 你知道吗?
- []环球视点!超4200亿!比亚迪公布大消息
- []送别诗你了解吗?送别诗原文释义
- []每日短讯:QQ如何登录?腾讯QQ首次登录QQ保障信息安全
- []简讯:魅族无法开机怎么刷机?魅族手机开不了机了怎么刷机?
- []股票分红好吗?对股民来说有哪些好处?
- []header是什么元素?header有什么意思?
- []世界要闻:家用净水器过滤方式是什么?家用净水器哪种过滤方式好?
- []惠民医保如何报销(惠民医保报销在哪报)
- []linuxtone日常命令:快速杀掉mysql进程
- []看点:南方电网AGC混合储能辅助调频EPC勘察设计采购!
- []今日热议:中国保护动物的会徽是什么?你知道多少?
- []观点:为什么应用需要加固?操作步骤是什么?
- []热头条丨投影仪出租的优势 投影仪出租有哪些注意事项?
- []【独家】天龙八部个人说明字体代码带图 你知道吗?
- []环球关注:社保在不同省份怎么办(不同省份社保怎么处理)
- []世界快资讯:衢州邮件处理中心:邮件编号查询信件
- []环球百事通!《暗黑破坏神2》重制版来了!暴雪嘉年华本周六开启
- []当前视讯!施耐德空气开关怎么样?施耐德空气开关的型号与价格
- []天天热讯:博世壁挂炉怎么样?博世壁挂炉欧洲之星评测
- []微信群怎么设置管理员?设置微信管理员的方法
- []环球信息:京城四少是谁?北京四个富二代年轻男性作出的称呼
- []世界快讯:《Begin Again》:不看会后悔的神仙治愈综艺
- []图片文件合成器是什么?图片、文件合成器的原理与方法
- []足疗按摩手法 最有效的8个手法学起来
- []世界聚焦:prefer是什么意思?中文翻译人名
- []如何使用浏览器无痕模式?360浏览器详细介绍
- []环球新动态:企业的经营性现金流与净利润的含金量有多大?
- []全球观点:暖风机哪个牌子好?十大暖风机品牌推荐
- []三特索道或摆脱大股东“吸血”!“当代系”债务高企,这个湖北富豪手里还有底牌吗?
- []三七茶有哪些功效?三七茶的功效
- []环球看点!薛定谔的猫和EPR佯谬——量子力学史上的经典术语
- []天天快播:小米4怎么样?小米4屏幕尺寸以及评测报价
- []天天头条:设计带构造函数的Dog类 对数据成员进行初始化
- []全球简讯:rmvb怎样转mp4?9.30MBVB转MP4转换器
- []环球观速讯丨community音响怎么样?community音响优势介绍
- []视点!B站视频播放源地址获取及B站视频下载
- []热文:Calendar类:日历字段的转换方法
- []当前动态:100MWh储能型钠铝固态电池工厂即将落地,成本或比锂离子电池便宜40%-50%
- []全球热推荐:AngularJS中的refresher该如何使用?使用技巧
- []环球热讯:70MW!Ellevio公司正在部署四个电池储能项目
- []今日热闻!照片和视频拼在一起?快影教你一招
- []全球报道:传真机耗材怎么选购?传真机耗材选购窍门
- []每日资讯:魔兽世界6.2版本宠物对战新内容:塔纳安丛林遍布战斗宠物
- []新买的手机怎么充电?充电时接电话会引起爆炸?
- []【天天报资讯】象棋里的卧槽马是什么?典型案例分享
- []联想G450摄像头不清楚怎么办?解决办法
- []环球观点:Typora1.0正式版开始收费!价格不算便宜
- []【热闻】快播怎么用BT种子?快播播放种子的3种方法
- []环球快播:电脑键盘快捷键有哪些?电脑键盘快捷键和组合键功能使用大全
- []天天百事通!戴尔笔记本电脑怎么样?戴尔笔记本电脑推荐及价格介绍
- []《星际争霸Ⅱ》游戏秘籍:游戏中按回车输入以下秘籍
- []【消元法】二元一次方程组怎么解?
- []多地开年定调楼市 “支柱产业”如何助力稳增长
- []当前关注:360隐私保护器是怎么一回事?全面认识下360隐私保护器
- []重装系统常见道ghost 如何恢复分区?
- []世界即时:非定常约束:几何约束与完整约束的区别
- []世界报道:世界空间中的着色器 从对象空间到世界空间的转换
- []世界球精选!告别“燥热” 京城酒吧变局
- []天天速递!分享5个高质无损音乐网站 歌曲很丰富
- []终于!保利第一
- []【数据更新】全国上网卡专属号段数据汇总
- []复旦壁纸:手绘正校门1024、7681280
- []连连支付怎么样?连连靠谱吗?
- []天天快看:在百度里下载格式工厂——KuGo格式
- []讯息:5省市人口为何逆势正增长
- []当前视点!北京二手房网签量再探底
- []【聚看点】java timestamp 格式化_java日期处理(Timestamp)
- []环球观察:speedtest-cli|网速测试工具命令行方式
- []环球今亮点!诚益通:截止2023年1月31日,公司股东人数为10175名
- []【天天聚看点】辉煌科技:公司目前无智能动车相关产品
- []天天快资讯丨肇民科技:截至2023年1月31日公司股东人数为9298户
- []三江购物:公司主营业务是商品零售
- []天天短讯!平安信用卡年利率是多少(平安信用卡年利率是多少)
- []天天头条:10GWh!东方日升子公司双一力拟建高效新型储能系统集成产线
- []500MW/1000MWh!中机国际中标广东惠州独立储能电站项目EPC!
- []天天动态:2月1日转常态运行!浙江再发第三方独立主体参与电力辅助服务通知!
- []动态焦点:哈医大肿瘤医院内科胸腔镜技术 让胸腔积液“水”落“实”出
- []国泰君安:八大问题看疫后居民预期 消费的增量在哪儿?
- []108亿扩产60GWh!亿纬锂能年后又一大手笔投建
- []天天要闻:重庆:加快微电网、分布式光伏、多元储能等一体化系统开发,构建多能互补高效能源体系
- []最新:社保没做减员原单位欠费注销(原公司社保欠费无法减员)
- []世界最资讯丨招商银行信用卡分期提前还款有手续费吗(招商信用卡分期提前还款手续费)
- []天天热文:“牛市旗手”归来?券商板块尾盘连续异动 ETF惊现巨额买单!什么情况?
- []全球热资讯!太火爆!“冠军”基金经理:限购!朱红裕年内已三次出手…
- []每日快看:平安信用卡的利息是多少(平安信用卡的利息是多少钱啊)
- []大湾区兔年春节旅游成绩单:多市实现“开门红”,人次收入双增长
- []今日聚焦!新湖中宝10亿元公司债将于2月9日付息 利率7.60%
- []天富能源:公司目前生产经营正常,同时根据《上海证券交易所股票上市规则》,不存在退市风险
- []当前聚焦:3万股民嗨了!歼20来A股 千亿巨头重组今日复牌!网友:连夜数板!
- []天邦食品:近年来国内生猪养殖行业集中度在不断提高,我们和业内规模养殖企业共同经历这个过程
- []每日热文:象屿股份30亿元小公募项目状态更新为“已受理”
- []全球速看:广东惠州:三孩家庭可按实际房租支出提取住房公积金
- []视讯!平安银行会倒闭吗知乎(最不安全4大银行)
- []全球头条:云南白药能刷医保吗(云南白药气雾剂可以刷医保吗)
- []广发银行第二张信用卡额度(广发申请第二张信用卡额度)
- []消费分期专用卡(不小心办了专享消费分期卡)
- []外阜农村劳动力 与职工社保 报销比例是否一样(外阜农村劳动力 与职工社保 报销比例是否一样)
- []全球热点!蓝城和新昌城投以底价6.1亿元竞得绍兴新昌县新民未来社区3宗地
- 全球热点评!河南洛阳:扩大住房补贴范围 青年人才最高获10万元购房补贴
- 世界资讯:传大连万达正在洽谈一笔境外贷款 以偿还3月份到期的3.5亿美元债
- 告别航空传奇波音 747,「空中女王」正式谢幕
- 焦点速讯:TD早报 | 广州出境首发团多条线路报满;携程已上线近700条出境团队游产品
- 密歇根大等4院校与庞清方保持联系 他仍未择校
- 今热点:中国银行怎么网上办理储蓄卡(中国银行怎么网上办理储蓄卡)
- 个人独资企业社保费交多少钱(个人独资企业社保费交多少)
- 海宁医保卡能在杭州用吗(杭州社保卡能在海宁用吗)
- 当前速递!信用卡可以在atm机上查询额度吗(atm机能看信用卡额度不)
- 世界热门:施耐德电气:顺应新型电力系统建设需求,直流断路器加速迭代
- 世界看热讯:双币信用卡申请条件是什么(征信不太好申请哪个信用卡)
- 华夏银行信用卡可以网上注销吗(华夏银行信用卡可以网上注销吗)
- 用公积金买房是什么感觉,好处比较多
- 当前最新:企业年金的好处和坏处,企业年金的领取方法
- 当前时讯:彩讯股份: 彩讯股份致力于成为中国领先的企业数字化技术与服务提供商,深耕行业客户数字化建设
- 前沿热点:EIA原油库存增幅大超预期,美油短线探底回升
- 全球播报:ebs保险是什么意思,驾乘险
- 全球视讯!交强险950元有返点吗,一般不允许有返点
- 今日观点!哪个银行社保卡当天拿卡,没有什么银行社保当天办可以拿卡
- 环球今头条!帕斯卡定律公式h等于什么 帕斯卡定律公式
- 助学贷款年限6年什么意思(助学贷款期限6年是什么意思)
- 黑石房地产投资信托基金1月触及每月赎回上限
- 焦点消息!佛山停止个人住房查询的对外查询业务
- 全球热议:北玻股份:1月31日公司高管高学明减持公司股份合计619.38万股
- 鹏辉能源:1月31日公司高管夏信德减持公司股份合计81.33万股
- 世界时讯:卖疯了!1月比亚迪新能源车销量增62.44%,占据市场“半壁江山”
- 农村妇女55岁还是60领养老金(农村妇女55岁领养老金)
- 工商银行哪个信用卡好申请(工商银行信用卡好办吗额度怎么样)
- 中石油买断职工补偿文件(中石化买断职工补偿文件)
- 每日速看!社保暂停缴费之后新单位可以续交吗(社保停了几年新单位可以直接交吗)
- 【当前热闻】天津签约38个重点项目 总投资达4523亿元
- 天天时讯:立昂技术:公司业务暂不涉及ChatGPT领域
- 环球视讯!旭辉集团1月份重庆、武汉等地项目交付超6000套房
- 新消息丨科翔股份:1月31日公司高管程剑减持公司股份合计3.17万股
- 全球热头条丨儿童御寒要注意:“洋葱法”巧穿衣,保护呼吸道健康
- 事业单位社保从哪年开始交的(女人交社保的最佳年限)
- 公积金减员每月最晚几号办理(公积金减员每月最晚几号)
- 报道:顺丰控股累计回购83.52万股 总金额为4047.85万元
- 今日关注:珀莱雅:1月31日公司高管方玉友减持公司股份合计104万股
- 天天热文:奇安信:1月30日樊俊诚减持公司股份合计1551股
- 全球简讯:瑞丰银行:2月1日公司高管秦晓君增持公司股份合计3万股
- 焦点要闻:强险到期商业险没到期可以上路吗(强制险到期了商业险没到期能上路吗)
- 观热点:退休后补缴的医保还能返钱吗(退休后补缴的医保还能返钱吗)
- 【世界新要闻】印度OTA巨头最新季度收入同比增长48.3%,预订额创新高
- 每日看点!【券商聚焦】大摩指1月国有房地产商销售继续跑赢民营企业 建议关注华润置地(01109)等
- 今日聚焦!大悦城控股“23大悦01”将于2月2日上市 金额20亿
- 全球动态:创维数字:惠州产业园项目正在有序地推进建设当中
- ST远程:截至2023年1月20日,公司股东人数为12256人
- 每日速读!八马茶业IPO:距离“茶叶第一股”有多远?
- 环球时讯:兔年“排头兵”或将上阵!
- 动态:北京文化:拟申请2.75亿元综合授信 受损投资者索赔仍在继续
- 世界快看:人寿保险客服工作好不好做呀(人寿保险客服工作好不好做)
- 视焦点讯!招商银行信用卡app怎么看安全码(信用卡丢了怎么查安全码)
- 焦点速递!万豪CEO谈2023年发展:美国需缩短签证申请时间,混合旅行持续盛行
- 学生贷款需要什么银行卡才能贷(学校贷款要用什么银行卡)
- 全球头条:兴业银行信用卡可以网上注销吗(信用卡网上能注销吗)
- 打电话申请临时额度的技巧是什么(打电话申请临时额度的技巧)
- 当前快播:财面儿|广州时代控股“18时代14”将于2月7日提前摘牌
- 湖南华夏近期减持中交地产749.69万股 现持股比例为4.11%
- 世界观天下!高铁电气副总经理李忠齐辞职 2021年薪酬为73万
- 环球动态:贵族俱乐部会员卡_关于贵族俱乐部会员卡的基本详情介绍
- 财面儿丨迪马股份:为子公司累计提供担保超139亿元
- 环球短讯!开年客流火爆 广深铁路今年业绩有望回暖
- 中文在线:AIGC是利用人工智能技术来生成内容,被认为是继PGC、UGC之后的新型内容创作方式
- 天天快资讯:财面儿丨中交地产:湖南华夏及其一致行动人减持公司1.08%股份
- 天天速讯:华瓷股份:公司与特定客户之间在产品开发或设计阶段的协作,涉及双方保密协定,不属于能对外披露的内容
- 新政丨新疆乌鲁木齐:公积金贷款购买新房单价上限上调10% 最高贷款额度为80万元
- 掌上生活怎么申请延期还款(掌上生活还款流程)
- 环球时讯:不想让新单位知道原单位 社保(社保不想让新单位知道原单位)
- 快消息!度过最艰难一年,机票代理人忙起来
- 精选!证监会:2月1日全面实行股票发行注册制改革正式启动
- 天津城投拟发行5亿元超短期融资券 期限180天
- 视讯!广东清远:购买预售商品住房可提取公积金支付首期款
- 上海钢联:公司不做区块链技术的研发,但一直关注互联网新兴技术的应用场景
- 香山股份:宝盛公司目前已停产,公司已于2020年全额计提减值
- 【世界独家】预计2022年度期末净资产为负 ST弘高或被实施退市风险警示
- 迪马股份:资产负债率低于70%子公司剩余担保额度13.5亿元
- 深圳地铁200亿元公司债券已获通过
- 世界热消息:荃银高科:公司严格按照深交所的有关规定履行业绩预告及业绩快报信息披露义务,敬请关注公司公告
- 天天观点:宁德时代动作频频,滑板底盘已在路上?
- 全球消息!当兵两年社保怎么处理(当兵前的社保怎么处理)
- 当前资讯!龙源电力:签约新疆木垒2GW光伏+3GW风电+1.25GW储能项目
- 天天精选!住院交2000押金和医保卡一样吗(交住院押金需要带医保卡吗)
- 环球视讯!招商银行信用卡怎么提前还款所有(招商信用卡提前结清)
- 世界观速讯丨雪佛龙“放大招”,回购超5000亿!巴菲特又赌赢了?
- 多晶硅周评-需求提振助价格延续涨势(2023.2.1)
- 要闻速递:238亿!宁德时代投建电池材料项目,进军千亿新赛道!
- 出击!宁德时代欧洲第一电池工厂投运!
- 吉娘娘海边泳装新造型又来了!穿粉色连体泳衣太嫩,少女感太强了
- 焦点热讯:陕西煤业靠什么暴赚340亿?
- 环球速看:永辉超市:已累计回购9563.76万股股份 合计耗资2.98亿元
- 天天时讯:不假思索的反义词是什么?不假思索是什么意思?
- 【全球热闻】国信期货日评:美劳工成本涨幅放缓,关注明晨美联储会议
- 环球快消息!中洲控股:截至1月31日公司股东人数为18,018
- 全球焦点!犬夜叉父亲是谁?犬夜叉是哪里的角色?
- 万盛股份:福建中州已经根据当期资产的账面价值和可变现净值的差异全额计提减值
- 金融街按持股比例为四川雅恒地产提供1.164亿元财务资助
- 宝尊电商任命肖泳为Gap大中华区首席执行官
- 聚焦:余额宝冻结金额怎么才能取出来?余额宝冻结金额取出来的步骤
- 全球时讯:文件扫描仪怎么用?文件扫描仪的使用方法是什么?