当前位置: 首页 > news >正文

莲都区建设局门户网站免费h5

莲都区建设局门户网站,免费h5,中企动力企业邮箱手机登录,app代理推广合作50元来源访问控制#xff08;黑白名单#xff09; 概念 Sentinel 提供了黑白名单限制资源能否通过的功能。如果配置了白名单#xff0c;则只有位于白名单的请求来源的对应的请求才能通过#xff1b;如果配置了黑名单#xff0c;则位于黑名单的请求来源对应的请求不能通过。 …来源访问控制黑白名单 概念 Sentinel 提供了黑白名单限制资源能否通过的功能。如果配置了白名单则只有位于白名单的请求来源的对应的请求才能通过如果配置了黑名单则位于黑名单的请求来源对应的请求不能通过。 实际操作 在 Nacos 控制台的配置管理/配置列表中在 public 的命名空间中创建一个如下配置 dataIdspring-cloud-demo-provider-sentinel-authority groupDEFAULT_GROUP 配置内容如下 [{resource: /hello,limitApp: white-origin,strategy: 0},{resource: /hello/say,limitApp: black-origin,strategy: 1} ]strategy 为 0 表示白名单为 1 表示黑名单。 limitApp 如果有多个请求来源则使用逗号分隔。 对应的客户端的配置文件如下 spring:application:name: spring-cloud-demo-providercloud:nacos:discovery:server-addr: 10.211.55.11:8848,10.211.55.12:8848,10.211.55.13:8848enabled: truesentinel:transport:dashboard: 127.0.0.1:9000eager: trueweb-context-unify: falsedatasource:authority-nacos-datasource:nacos:server-addr: 10.211.55.11:8848,10.211.55.12:8848,10.211.55.13:8848group-id: DEFAULT_GROUPnamespace: publicdata-id: ${spring.application.name}-sentinel-authoritydata-type: jsonrule-type: authorityusername: nacospassword: nacos然后注册一个 RequestOriginParser 类型的 Bean。 Component public class MyRequestOriginParser implements RequestOriginParser {Overridepublic String parseOrigin(HttpServletRequest httpServletRequest) {String origin httpServletRequest.getHeader(origin);if (StringUtils.isBlank(origin)) {origin default;}return origin;} }请求时在请求头添加一对 origin, whiteOrigin 或者 origin, blackOrigin 就能看到黑白名单对于特定资源的限制效果了。 实际操作中个人发现如果被黑白名单限制的话程序不会抛出异常而是响应中输出 Blocked by Sentinel (flow limiting)。 AuthoritySlot 负责对请求来源的授权规则进行校验。 Spi(order Constants.ORDER_AUTHORITY_SLOT) public class AuthoritySlot extends AbstractLinkedProcessorSlotDefaultNode {Overridepublic void entry(Context context, ResourceWrapper resourceWrapper, DefaultNode node, int count, boolean prioritized, Object... args)throws Throwable {// 校验请求来源的授权规则checkBlackWhiteAuthority(resourceWrapper, context);// 交给下一个ProcessorSlot继续处理fireEntry(context, resourceWrapper, node, count, prioritized, args);}Overridepublic void exit(Context context, ResourceWrapper resourceWrapper, int count, Object... args) {// 交给下一个ProcessorSlot继续处理fireExit(context, resourceWrapper, count, args);}void checkBlackWhiteAuthority(ResourceWrapper resource, Context context) throws AuthorityException {// 加载所有资源的授权规则MapString, SetAuthorityRule authorityRules AuthorityRuleManager.getAuthorityRules();// 如果授权规则列表为空则直接返回if (authorityRules null) {return;}// 获取指定资源的授权规则列表SetAuthorityRule rules authorityRules.get(resource.getName());// 如果对应的授权规则列表为空则直接返回if (rules null) {return;}// 遍历授权规则列表for (AuthorityRule rule : rules) {// 如果有一个授权规则没有校验通过则抛出异常if (!AuthorityRuleChecker.passCheck(rule, context)) {throw new AuthorityException(context.getOrigin(), rule);}}} }接下来看下 AuthorityRuleChecker 的 passCheck 方法的内部逻辑。 static boolean passCheck(AuthorityRule rule, Context context) {// 获取上下文记录的请求来源String requester context.getOrigin();// 如果请求来源为空或者授权规则的limitApp为空则返回true表示校验通过if (StringUtil.isEmpty(requester) || StringUtil.isEmpty(rule.getLimitApp())) {return true;}// 判断授权规则的limitApp中是否存在指定的请求来源int pos rule.getLimitApp().indexOf(requester);boolean contain pos -1;if (contain) {boolean exactlyMatch false;// 用逗号分隔String[] appArray rule.getLimitApp().split(,);// 判断授权规则中是否对指定的请求来源进行了限制for (String app : appArray) {if (requester.equals(app)) {exactlyMatch true;break;}}contain exactlyMatch;}int strategy rule.getStrategy();// 如果设置了黑名单并且授权规则中包含指定的请求来源则返回false表示校验不通过if (strategy RuleConstant.AUTHORITY_BLACK contain) {return false;}// 如果设置了白名单并且授权规则中不包含指定的请求来源则返回false表示校验不通过if (strategy RuleConstant.AUTHORITY_WHITE !contain) {return false;}// 其余请求返回true表示校验通过return true; }
http://www.hkea.cn/news/14399850/

相关文章:

  • 建设音乐网站的目的wordpress图片批量修改
  • 哪些可以免费做网站自命题规划一个企业网站
  • 药品推荐网站模板seo什么意思
  • 卡盟网站制作网站开通银行支付接口
  • 深圳网站优化哪家好溧阳 招网站开发兼职
  • 哈尔滨网络科技公司网站工商营业执照网上查询官网
  • 组培实验室建设网站在线甜品网站开发书
  • 如何在手机上制作网站微网站微网站
  • 新网站建设网站是用什么软件做的
  • 网站建设如何提高浏览量室内设计效果图多少钱
  • 制作网站协议北京市建设工程信息网查询
  • 服务器搭建网站空间seo关键词如何布局
  • 做vue用哪个网站网站收录不好排名高
  • 三门峡网站建设苏州旅游网站设计
  • python做后台网站的多吗html5 网站 适配手机
  • 建设行政主管部门网站网站建设策划基本流程
  • 福州阳楠科技网站建设有限公司安卓一键制作app软件
  • 做网站 大文件360免费wifi旧版本下载
  • 韩雪冬模板网站俱乐部网站 模板
  • 做网站外包好吗酒店网页设计模板图片
  • 摄影网站网页设计锦州seo推广
  • word可以做招聘网站吗金水区做网站
  • 销售平台网站建设方案模板国外简约网站
  • 有一个网站专门做促销小游戏佳木斯做网站
  • 网站自建系统网页设计font代码
  • 网站建设语音有关网站设计的文章
  • tk网站域名wordpress 登录查看
  • 景点旅游网站开发与设计公众号制作编辑器
  • 深圳免费模板建站网站建设怎么寻找客户
  • 无锡网站优化哪家快外贸进口流程