绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Taurus.MVC 微服务框架 入门开发教程
2022-08-23 14:49:13

前言:

对于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所在的程序集。

代码:

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

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

配置:

{
  "AppSettings": {
    "Taurus.Controllers": "程序集dll名称",
    }
}

或:

复制代码
<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="Taurus.Controllers" value="程序集dll名称"/>

  </appSettings>

</configuration>
复制代码

总结:

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

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

分享好友

分享这个小栈给你的朋友们,一起进步吧。

唠唠微服务
创建时间:2020-05-19 17:55:56
带你走进微服务架构
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • at_1
    栈主

小栈成员

查看更多
  • tye879
  • 栈栈
  • 吴群勇
  • brue
戳我,来吐槽~