认证设计 - noradle/noradle-dispatcher GitHub Wiki

各类型节点间的链接认证

  1. oracle 连接 dispatcher 是主动连接,不用担心连到非法的 dispatcher 上。 但是目前多个实例连接到同一个dispatcher会出现混乱, 因此,默认认证只运行 primary 节点的 instance 1 访问。(todo)
  2. dispatcher 要防止伪装和非法的 oracle 连接, 应该按照 db service name(默认就是db_name.db_domain) 和密码验证, server_control_t 表应该增加一列密码字段, dispatcher 将根据配置文件对 oracle 进行认证。(todo)
  3. client 认证,dispatcher 将 client 发来的 cid/passwd/dbu 信息发往 oracle,获取该cid相关配置, 如果没有匹配的数据,那么返回并发配合为0, 如果密码不对,返回配额为-1,代表认证失败。

client/oracle/console到dispatcher的认证设计

client/oracle/console 连接 dispatcher 的认证方式统一,简化,可定制化

  • 自定义接口规范 check(role,name,pass,cip,secure),根据访问dispatcher的角色(client/console/oracle),用户名密码,客户端IP,是否通过加密通道链接5个参数才确定是否允许握手通过,可以支持各种灵活的策略,系统默认采用的内置策略是位于同一局域网下可以访问dispatcher。
  • 确定启动新项目 noradle-auth,来支持标准化的基于静态配置文件的认证和配置获取功能,采用 javascript schema 定义