- .NET Core 开发中的鉴权技术全解析
爱吃香蕉的阿豪
.netcore鉴权jwttoken
目录鉴权基础概念鉴权与授权的区别鉴权在.NETCore中的核心地位常见鉴权方式Cookie鉴权工作原理实现步骤JWT鉴权工作原理实现步骤OAuth2鉴权工作原理实现步骤(以Google登录为例)实际应用场景与选择策略不同场景下的鉴权技术应用鉴权技术选择策略总结鉴权基础概念鉴权与授权的区别特性鉴权(Authentication)授权(Authorization)目的验证用户身份(“你是谁?”)控制资
- 豆包API
奶龙牛牛
python开发语言
请求代码doubao-1.5-vision-proimportrequests#API地址api_url="https://ark.cn-beijing.volces.com/api/v3/chat/completions"#API密钥api_key=""#请求头headers={"Content-Type":"application/json","Authorization":f"Bearer{
- Hive优化及解析
架构森林之旅
数仓数据库hive大数据hive数据仓库
1.explain一般用于查看表的具体stage流程,根据流程判断自我推测2.explaindependency快速排查分区具体场景快速排出因为读取不到相应分区的数据而导致任务数据输出异常理清表的输入,帮助理解程序的运行,特别是有助于了理解子查询,多表连接的依赖输入(on,where)不同写法,最后的实现也不会一样3.explainauthorization了解数据源、数据输出以及访问用户和操作4
- Istio 的授权认证 和 OAuth2/OIDC
欧先生^_^
istio数据库sql
Istio的授权认证和OAuth2/OIDC(如Keycloak或SpringAuthorizationServer)解决的是不同层面的安全问题。OAuth2/OIDC:关注的是“用户身份”和“应用授权”。它回答的问题是:“你是谁?(认证)”,“你(或代表你的应用)被允许做什么?(授权)”。Istio的授权:关注的是“服务到服务(Workload-to-Workload)”的通信安全。它回答的问题
- Flask-login 处理授权逻辑
fydw_715
Difyflaskpython后端
认证vs授权:在Web应用程序的安全机制中,认证(Authentication)和授权(Authorization)是两个核心概念,它们虽然紧密相关,但职责和作用不同。认证(Authentication):定义:认证是验证用户身份的过程,确定用户是谁。目的:确保请求访问系统资源的用户是合法的、已知的,并且其身份已被验证。实现方式:通常通过用户提供凭证(如用户名和密码、令牌、指纹等)来完成身份验证。
- 《网络安全与防护》知识点复习
忘川w
网络安全与防护web安全安全笔记网络安全
✅一、网络安全基础(CIA/AAA/安全服务)概念快速记忆CIA三元组机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)安全服务(OSI)鉴别服务+访问控制+数据完整性+数据保密性+抗抵赖AAA模型认证(Authentication)→授权(Authorization)→记账(Accounting)OSI安全体系结构口诀法:“机密-完整-可用
- FastAPI系列教程12:使用JWT 登录认证和RBAC 权限控制
GeekABC
PythonFastAPI实战教程fastapiweb安全
使用JWT登录认证和RBAC权限控制1、身份认证(Authentication)与JWT身份认证(Authentication)的方式JWT(JSONWebToken)的实现原理2、授权(Authorization)与RBAC授权(Authorization)的方式RBAC的实现原理3、FastAPI实现JWT与RBAC实现思路完整的实现代码在开发WebAPI应用时,安全问题是非常核心的考虑因素。
- 工作流授权控制模型-来自网友的email,谢谢他.大家共享-需要图片的请email:[email protected]
sunkingcom
javaJBPMOSWorkFlowemail工作authorization任务文档object
工作流授权控制模型version1.0第1页工作流授权控制模型WorkflowAuthorizationModel版本:1.0作者:胡长城网上游名:银狐999;james999个人主页:http://www.javafox.org完成时间:2003-12-14联系信箱:
[email protected]:
[email protected]本文大部分参考文档,可以在http
- Spring Security
一、基础概念与核心原理1.SpringSecurity是什么?定位:Spring生态中的安全框架,用于实现Web应用的身份验证(Authentication)和授权(Authorization)。核心功能:防止未经授权的访问(如登录认证)。细粒度的权限控制(如角色/权限管理)。支持多种认证方式(如用户名密码、OAuth2、JWT等)。防御常见安全攻击(如CSRF、XSS、Session固定等)。2
- 手把手教你搭建一个基于OAuth2.1规范的授权认证服务器(一):附源码
码农小灰
SpringAuthorizationServerjavajavaspringbootspring
前言技术更新:SpringSecurityOAuth已经逐渐被淘汰,而SpringAuthorizationServer是其官方推荐的替代方案。它提供了更现代、更安全的授权服务器实现,符合最新的OAuth2.1规范。项目需求:小灰工作上的项目需要搭建一个授权服务器,而原先使用的SpringSecurityOAuth,而该项目已经逐渐被淘汰,虽然网上有很多相关教程和资料,但考虑到技术的更新迭代,决定
- VMware服务一键启停脚本
vmware程序员
背景介绍很多VMware用户可能都遇到过这样的困扰:即使不使用虚拟机,VMware的多个后台服务也会在开机时自动启动,长期占用系统资源。这些服务包括:VMwareAuthorizationServiceVMwareDHCPServiceVMwareNATServiceVMwareUSBArbitrationServiceVMwareWorkstationServer此外,VMware相关的网络适配
- ASP.NET Core身份验证的深度解析
t0_54coder
编程问题解决手册asp.net后端个人开发
引言在ASP.NETCore应用程序中,身份验证(Authentication)和授权(Authorization)是两个非常重要的安全机制。它们确保只有经过认证的用户可以访问特定的资源或执行特定的操作。今天,我们将探讨一个常见的身份验证问题,并通过实例说明如何正确处理身份验证失败的情况。身份验证流程在ASP.NETCore中,身份验证通常通过中间件(Middleware)来处理。Authenti
- SpringBoot集成Spring Security全解:从入门到精通实战指南(亲测可用)
Clf丶忆笙
#安全与认证springspringboot后端javaSecurity
文章目录一、SpringSecurity基础概念与核心原理1.1认证(Authentication)与授权(Authorization)的区别1.2SpringSecurity核心架构1.3SpringSecurity过滤器链二、SpringBoot集成SpringSecurity基础配置2.1创建项目并添加依赖2.2基础安全配置类2.3控制器代码示例2.4自定义登录页面三、认证机制深度解析3.1
- Spring Security 实战内容:OAuth2授权请求是如何构建并执行的
Lydia Bess
java程序人生spring学习struts
我们找到了拦截OAuth2授权请求入口/oauth2/authorization的过滤器OAuth2AuthorizationRequestRedirectFilter,并找到了真正发起OAuth2授权请求的方法sendRedirectForAuthorization。但是这个方法并没有细说,所以今天接着上一篇把这个坑给补上。2.sendRedirectForAuthorization这个send
- Neo4j 认证与授权:原理、技术与最佳实践深度解析
weixin_30777913
neo4j运维架构系统安全
Neo4j作为领先的图数据库,其安全机制——认证(Authentication)与授权(Authorization)——是保障数据资产的核心防线。本文将深入剖析其工作原理、关键技术、实用技巧及行业最佳实践,助您构建坚不可摧的图数据安全体系。Neo4j提供了强大且灵活的认证授权框架,涵盖从基础用户密码管理到复杂的动态属性访问控制。掌握其RBAC+PBAC双模型、理解DBMS与Database权限层级
- ABAP 里星号 * 的十种使用场合
汪子熙
零基础快速学习ABAPABAP思爱普sapNetWeaver
文章目录JavaScript里的模块系统:import*as与export*from1.注释2.OPENSQL里的字段列表通配符3.解构引用操作符(De-referenceoperator)4.SAPGUI里的字段遮罩掩码标识符5.ABAP权限控制领域的FullAuthorization(完全授权),谨慎使用!6.SAPQuery里的overflow标志7.不同货币单位的金额不能简单求和8.作为A
- MongoServerError: Authentication failed.处理办法
陈阳羽
ubuntumongo
1停止MongoDB服务:systemctlstopmongod2临时修改MongoDB配置,禁用认证:vim/etc/mongdb.config在配置文件中找到security:authorization:disabled#临时关闭认证3.重启MongoDB服务#重启MongoDB服务sudosystemctlrestartmongod4.重新创建管理员用户:mongosh--eval'db.g
- Java-代码段-http接口调用自身服务中的其他http接口(mock)-并建立socket连接发送和接收报文实例
江节胜-胜行全栈AI
Javasocketspringbootjavahttp开发语言
最新版本更新https://code.jiangjiesheng.cn/article/367?from=csdn推荐《高并发&微服务&性能调优实战案例100讲源码下载》1.controller入口@ApiOperation("模拟平台端+现场机socket交互过程,需要Authorization")@PostMapping(path="/testSocketBusiness")publicRes
- 爬虫遇到code_verifier和code_challenge
qq_42246902
网络爬虫爬山算法爬虫
最近做一个国外app的爬虫,抓包写完了整个登录流程,最后一步一直提示:{"status_code":"401UNAUTHORIZED","message":"invalidauthorizationcode"},最后通过排除法定位到这两个字段,这两个字段通常出现在使用OAuth2.0PKCE登录流程中。因对OAuth2.0PKCE不了解,查阅资料后发现verifier字段是随机字符串,通常是64位
- Spring Security探索与应用
面朝大海,春不暖,花不开
SpringSecurityspringjava后端
SpringSecurity核心概念框架定位与核心能力SpringSecurity是Spring生态中实现应用级安全的核心框架,其官方定义为"强大且高度可定制的认证与访问控制框架"。作为Spring应用程序安全防护的事实标准解决方案,它通过模块化设计提供以下核心能力:认证(Authentication):支持表单登录、OAuth2、SAML等多种认证方式授权(Authorization):基于角色
- Spring Security停止维护?拥抱Spring全新OAuth解决方案
程序员职业指南
springmybatisspringboothttps后端javatomcat
以下全文SpringAuthorizationServer简称为:SAS背景Spring团队正式宣布SpringSecurityOAuth停止维护,该项目将不会再进行任何的迭代目前Spring生态中的OAuth2授权服务器是SpringAuthorizationServer已经可以正式生产使用作为SpringBoot3.0的过渡版本SpringBoot2.7.0过期了大量关于SpringSecur
- OAuth 2.0详解
思静鱼
#安全认证鉴权java
OAuth2.0是一种主流的授权框架(AuthorizationFramework),用于让第三方应用安全地访问用户资源,而无需直接暴露用户的账号密码。一、OAuth2.0是什么?OAuth2.0是一个**“授权”标准协议**,主要用于:第三方应用以用户身份安全访问资源用户可以授权而无需泄露密码常用于Web、移动应用、IoT的登录与授权二、角色介绍角色说明ResourceOwner资源拥有者(比如
- HTTP 错误状态码以及常用解决方案
龙卷风hu~
日常开发学习总结http网络协议网络
以下是常见HTTP错误状态码及其解决方案的对比表格,按客户端(4xx)和服务端(5xx)分类:HTTP错误码对比表一、客户端错误(4xx)状态码含义常见原因解决方案400BadRequest请求参数格式错误、缺失必填参数检查参数格式,验证输入合法性401Unauthorized未携带有效Token或认证失败添加Authorization头,重新登录403Forbidden权限不足、IP/Refer
- SQL Standard Based Hive Authorization(基于SQL标准的Hive授权)
houzhizhen
hivesqlhive数据库
Hive0.13之前的权限管理Hive默认的权限不是为了防止恶意用户访问隐私数据。它仅能防止用户不经意的错误操作。它本身是不完整的,包括执行grant语句之内的很多操作,没有授权检查。在查询编译阶段进行权限检查。但是允许用户执行dfs命令,用户自定义函数和shell命令,这些命令可能跳过权限检查。Hive还支持基于存储的权限,在metastore服务API中添加的权限检查。在Hive0.12之后,
- springboot3+vue3融合项目实战-大事件文章管理系统获取用户详细信息
Edward Nygma
springboot
在UserController里面增加代码@GetMapping("/userInfo")publicResultuserInfo(@RequestHeader(name="Authorization")Stringtoken){//根据用户名查询用户Mapmap=JwtUtil.parseToken(token);Stringusername=(String)map.get("username"
- 微信小程序预览文件 兼容性苹果
前端开发小吴
微信小程序小程序
uni.request({url:url,method:'GET',header:{'Authorization':token,responseType:'blob',},responseType:"arraybuffer",success:(res)=>{uni.hideLoading()constfs=wx.getFileSystemManager();//获取全局唯一的文件管理器letind
- nginx
每天吃饭的羊
#第一次见你nginxlinux运维
有两个服务,从A到B,由A发启请求到B,A会带上Authorization的请求头,和B服务所允许的请求头所冲突解决办法:加一个中间层(nginx)本地示例,使用nginx(windows):修改nginx-1.26.2\conf\nginx.confproxy_set_headerAuthorization"";proxy_passhttp://localhost:8081;proxy_set_
- 微信聊天机器人搭建 教程/开发
贰元1
服务器运维
取消点赞简要描述:取消点赞请求URL:http://域名地址/snsCancelPraise请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回参数:参数名必选类型说明wId是String登录实例标识id是String朋友圈id请求参数示例{"wId":"b7ad08a6-77c2-4ad6-894a-29
- Taro开发微信小程序--实现导出Excel表格功能
xuejingwang111
taro小程序javascript前端前端框架
Taro.downloadFile({url:config.apiUrl+`account/checking/excel?supplierId=001&startTime=${state.startMonth}&endTime=${state.endMonth}`,//调用后台接口的全路径header:{Authorization:Taro.getStorageSync("token"),"Con
- token 数量的计算
潇锐killer
java前端javascript
publicclassChatGPTApi{privatestaticfinalStringAUTHORIZATION_STR="Authorization";privatestaticEncodingenc;static{enc=Encodings.newDefaultEncodingRegistry().getEncoding(EncodingType.CL100K_BASE);}/***估计
- SQL的各种连接查询
xieke90
UNION ALLUNION外连接内连接JOIN
一、内连接
概念:内连接就是使用比较运算符根据每个表共有的列的值匹配两个表中的行。
内连接(join 或者inner join )
SQL语法:
select * fron
- java编程思想--复用类
百合不是茶
java继承代理组合final类
复用类看着标题都不知道是什么,再加上java编程思想翻译的比价难懂,所以知道现在才看这本软件界的奇书
一:组合语法:就是将对象的引用放到新类中即可
代码:
package com.wj.reuse;
/**
*
* @author Administrator 组
- [开源与生态系统]国产CPU的生态系统
comsci
cpu
计算机要从娃娃抓起...而孩子最喜欢玩游戏....
要让国产CPU在国内市场形成自己的生态系统和产业链,国家和企业就不能够忘记游戏这个非常关键的环节....
投入一些资金和资源,人力和政策,让游
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
商人shang
jvm内存
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。
HotSpot虚拟机GC算法采用分代收
- 页面上调用 QQ
oloz
qq
<A href="tencent://message/?uin=707321921&Site=有事Q我&Menu=yes">
<img style="border:0px;" src=http://wpa.qq.com/pa?p=1:707321921:1></a>
- 一些问题
文强chu
问题
1.eclipse 导出 doc 出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 .....
SQL:3.mysql * 必须得放前面 否则 select&nbs
- 生活没有安全感
小桔子
生活孤独安全感
圈子好小,身边朋友没几个,交心的更是少之又少。在深圳,除了男朋友,没几个亲密的人。不知不觉男朋友成了唯一的依靠,毫不夸张的说,业余生活的全部。现在感情好,也很幸福的。但是说不准难免人心会变嘛,不发生什么大家都乐融融,发生什么很难处理。我想说如果不幸被分手(无论原因如何),生活难免变化很大,在深圳,我没交心的朋友。明
- php 基础语法
aichenglong
php 基本语法
1 .1 php变量必须以$开头
<?php
$a=” b”;
echo
?>
1 .2 php基本数据库类型 Integer float/double Boolean string
1 .3 复合数据类型 数组array和对象 object
1 .4 特殊数据类型 null 资源类型(resource) $co
- mybatis tools 配置详解
AILIKES
mybatis
MyBatis Generator中文文档
MyBatis Generator中文文档地址:
http://generator.sturgeon.mopaas.com/
该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。
本文使用Markdown进行编辑,但是博客显示效
- 继承与多态的探讨
百合不是茶
JAVA面向对象 继承 对象
继承 extends 多态
继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法 //继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有extends是使用继承的关键字:
在A类中定义属性和方法;
class A{
//定义属性
int age;
//定义方法
public void go
- JS的undefined与null的实例
bijian1013
JavaScriptJavaScript
<form name="theform" id="theform">
</form>
<script language="javascript">
var a
alert(typeof(b)); //这里提示undefined
if(theform.datas
- TDD实践(一)
bijian1013
java敏捷TDD
一.TDD概述
TDD:测试驱动开发,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。
- [Maven学习笔记十]Maven Profile与资源文件过滤器
bit1129
maven
什么是Maven Profile
Maven Profile的含义是针对编译打包环境和编译打包目的配置定制,可以在不同的环境上选择相应的配置,例如DB信息,可以根据是为开发环境编译打包,还是为生产环境编译打包,动态的选择正确的DB配置信息
Profile的激活机制
1.Profile可以手工激活,比如在Intellij Idea的Maven Project视图中可以选择一个P
- 【Hive八】Hive用户自定义生成表函数(UDTF)
bit1129
hive
1. 什么是UDTF
UDTF,是User Defined Table-Generating Functions,一眼看上去,貌似是用户自定义生成表函数,这个生成表不应该理解为生成了一个HQL Table, 貌似更应该理解为生成了类似关系表的二维行数据集
2. 如何实现UDTF
继承org.apache.hadoop.hive.ql.udf.generic
- tfs restful api 加auth 2.0认计
ronin47
目前思考如何给tfs的ngx-tfs api增加安全性。有如下两点:
一是基于客户端的ip设置。这个比较容易实现。
二是基于OAuth2.0认证,这个需要lua,实现起来相对于一来说,有些难度。
现在重点介绍第二种方法实现思路。
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGe
- jdk环境变量配置
byalias
javajdk
进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置:
1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-7u79-windows-x64.exe
2、安装jdk-7u79-windows-x64.exe
3、配置环境变量:右击"计算机"-->&quo
- 《代码大全》表驱动法-Table Driven Approach-2
bylijinnan
java
package com.ljn.base;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.uti
- SQL 数值四舍五入 小数点后保留2位
chicony
四舍五入
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
例如:
select cast(round(12.5,2) as numeric(5,2))  
- c++运算符重载
CrazyMizzz
C++
一、加+,减-,乘*,除/ 的运算符重载
Rational operator*(const Rational &x) const{
return Rational(x.a * this->a);
}
在这里只写乘法的,加减除的写法类似
二、<<输出,>>输入的运算符重载
&nb
- hive DDL语法汇总
daizj
hive修改列DDL修改表
hive DDL语法汇总
1、对表重命名
hive> ALTER TABLE table_name RENAME TO new_table_name;
2、修改表备注
hive> ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comm
- jbox使用说明
dcj3sjt126com
Web
参考网址:http://www.kudystudio.com/jbox/jbox-demo.html jBox v2.3 beta [
点击下载]
技术交流QQGroup:172543951 100521167
[2011-11-11] jBox v2.3 正式版
- [调整&修复] IE6下有iframe或页面有active、applet控件
- UISegmentedControl 开发笔记
dcj3sjt126com
// typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {
// UISegmentedControlStylePlain, // large plain
&
- Slick生成表映射文件
ekian
scala
Scala添加SLICK进行数据库操作,需在sbt文件上添加slick-codegen包
"com.typesafe.slick" %% "slick-codegen" % slickVersion
因为我是连接SQL Server数据库,还需添加slick-extensions,jtds包
"com.typesa
- ES-TEST
gengzg
test
package com.MarkNum;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation
- 为何外键不再推荐使用
hugh.wang
mysqlDB
表的关联,是一种逻辑关系,并不需要进行物理上的“硬关联”,而且你所期望的关联,其实只是其数据上存在一定的联系而已,而这种联系实际上是在设计之初就定义好的固有逻辑。
在业务代码中实现的时候,只要按照设计之初的这种固有关联逻辑来处理数据即可,并不需要在数据库层面进行“硬关联”,因为在数据库层面通过使用外键的方式进行“硬关联”,会带来很多额外的资源消耗来进行一致性和完整性校验,即使很多时候我们并不
- 领域驱动设计
julyflame
VODAO设计模式DTOpo
概念:
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对
- 单例设计模式
hm4123660
javaSingleton单例设计模式懒汉式饿汉式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
&nb
- logback
zhb8015
loglogback
一、logback的介绍
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-class
- 整合Kafka到Spark Streaming——代码示例和挑战
Stark_Summer
sparkstormzookeeperPARALLELISMprocessing
作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版
- spring-master-slave-commondao
王新春
DAOspringdataSourceslavemaster
互联网的web项目,都有个特点:请求的并发量高,其中请求最耗时的db操作,又是系统优化的重中之重。
为此,往往搭建 db的 一主多从库的 数据库架构。作为web的DAO层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数