码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Taurus.MVC 微服务框架 入门开发教程:项目集成:4、默认安全认证与自定义安全认证。


    系列目录:

    本系列分为项目集成、项目部署、架构演进三个方向,后续会根据情况调整文章目录。

    开源地址:https://github.com/cyq1162/Taurus.MVC

    本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单。

    Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。

    Taurus.MVC 微服务框架 入门开发教程:项目集成:2、客户端:ASP.NET Core(C#)项目集成:应用中心。

    Taurus.MVC 微服务框架 入门开发教程:项目集成:3、客户端:其它编程语言项目集成:Java集成应用中心。

    Taurus.MVC 微服务框架 入门开发教程:项目集成:4、默认安全认证与自定义安全认证。

    Taurus.MVC 微服务框架 入门开发教程:项目集成:5、统一的日志管理。

    Taurus.MVC 微服务框架 入门开发教程:项目集成:6、微服务间的调用方式:Rpc.StartTaskAsync。

    Taurus.MVC 微服务框架 入门开发教程:项目部署:1、微服务应用程序常规部署实现多开,节点扩容。

    Taurus.MVC 微服务框架 入门开发教程:项目部署:2、让Kestrel支持绑定多个域名转发,替代Ngnix使用。

    Taurus.MVC 微服务框架 入门开发教程:项目部署:3、微服务应用程序版本升级:全站升级和局部模块升级。

    Taurus.MVC 微服务框架 入门开发教程:项目部署:4、微服务应用程序发布到Docker部署(上)。

    Taurus.MVC 微服务框架 入门开发教程:项目部署:5、微服务应用程序发布到Docker部署(下)。

    Taurus.MVC 微服务框架 入门开发教程:项目部署:6、微服务应用程序Docker部署实现多开。

    Taurus.MVC 微服务框架 入门开发教程:项目部署:7、微服务节点的监控。

    Taurus.MVC 微服务框架 入门开发教程:架构演进:1、从单应用程序简单过渡到负载均衡。

    Taurus.MVC 微服务框架 入门开发教程:架构演进:2、负载均到模块拆分负载。

    Taurus.MVC 微服务框架 入门开发教程:架构演进:3、模块拆分负载到多级负载均衡。

    Taurus.MVC 微服务框架 入门开发教程:运行示例:https://github.com/cyq1162/Taurus.MVC.MicroService.Demo

    前言:

    对于Taurus.MVC 的微服务的注册中心而言:

    什么样的应用中心,有权利注册服务?
    
    什么样的网关中心,有权利调取服务列表?

    在默认没有进行相关配置时,只要引用Taurus.MVC的框架,都拥有该权限。

    如果注册中心程序仅在内网部署,那么不配置也是可以的。

    如果注册中心允许外网访问,那么,就需要进一步提高安全权限,避免外部恶意注册了。

    下面就介绍两种安全处理方式:

    1、默认安全认证:自定义授权Key:

    A、注册中心设置安全Key:配置项:MicroService.Server.Key

    配置示例如下:

    复制代码
    {
      "AppSettings": {
        
        "MicroService.Server.Name": "RegCenter",
        "MicroService.Server.Key": "随机Key"
        }
    }
    复制代码

    B、对其它服务端如:网关、注册中心(从):配置项:MicroService.Server.Key

    配置示例如下:

    复制代码
    {
      "AppSettings": {
        
        "MicroService.Server.Name": "Gateway",
        "MicroService.Server.Key": "随机Key"
        }
    }
    复制代码

    C、对客户端:Web应用中心:配置项:MicroService.Client.Key

    配置示例如下:

    复制代码
    {
      "AppSettings": {
        
        "MicroService.Client.Name": "www.a.com",
        "MicroService.Client.Key": "随机Key"
        }
    }
    复制代码

    总结如下:

    1、注册中心定好一个Key:如:abc123。
    
    2、需要对注册中心访问的,也配置对应的Key:abc123。

    默认的处理方式,是Key的直接比对。

    使用也简单,简单配置也可使得在外网环境也提高了安全性。

    2、 自定义安全认证:编码自定义行为的验证代码

    代码流程:

    1、新建:DefaultController全局控制器,继承自Taurus.Core.Controller
    
    2、新增:CheckMicroService方法,重写该方法的实现即可。

    3、配置:DefaultController所在的程序集。

    代码:

    复制代码
      /// 
        /// 全局控制器(适全全局事件处理)
        /// 
        public class DefaultController : Taurus.Core.Controller
        {
            /// 
            /// 用于校验微服务的内部身份验证,配合[MicroService]属性
            /// 启用时:全局仅此一个生效,局部的失效。
            /// 
            public static bool CheckMicroService(IController controller, string methodName)
            {
    string configKey=
    controller.Query(MicroService.Const.HeaderKey);//获取配置的Key值
           return MicroService.Config.ServerKey == configKey;//这里可以改成自定义机制,返回true则通过,false则失败。
    }
    }
    复制代码

    有关全局控制器的更详细文章:Taurus.MVC WebAPI 入门开发教程6:全局控制器DefaultController与全局事件

    总结:

    本篇介绍,在外网环境部署注册中心时,如何加强安全性的问题。

    即可以通过简单指定随机Key来控制,也可以通过自定义代码机制自行判断。

     

     

  • 相关阅读:
    边缘技术和小程序容器在智能家居中的应用
    无催化剂生物共轭 胆固醇-聚乙二醇-二苯基环辛炔 Cholesterol-PEG-DBCO
    【板刷算进计划】起床困难综合征 / uoj 2【位运算】【贪心】
    Flutter Map 常用操作方法概述
    腾讯、阿里面试Redis真题精选36道,配合项目实战,助你大厂无忧
    elementui表格自定义指令控制显示哪些列可以拖动
    web前端开发技术纯静态 (12306官网 1页)
    Tensorflow的CNN教程解析
    IP风险画像 金融行业的安全盾牌
    SVN服务器迁移-Windows
  • 原文地址:https://www.cnblogs.com/cyq1162/p/16539960.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号