Nacos 1.2.0 权限控制使用

Nacos 1.2.0 权限控制介绍和使用:https://nacos.io/en-us/blog/nacos%201.2.0%20guide.html

Server端配置

Server端打开权限控制开关。修改con/application.properties内容:

nacos.core.auth.enabled=true

这个开关采用了热加载模式,无需重启Server即可生效。因此当权限控制功能使用有异常时,可以直接回滚到不鉴权的模式。

注意:Nacos 1.2.0里登录和鉴权是绑定关系,而由于这个开关的默认值为false,因此默认启动时,是没有登录界面的。

使用权限控制

设置顺序:

  • 命名空间 -> 新建命名空间
  • 权限控制 -> 用户列表 -> 创建用户
  • 权限控制 -> 角色管理 -> 绑定角色
  • 权限控制 -> 权限管理 -> 添加权限

Client端配置

bootstap.yml配置文件

spring:
  application:
    name: union-pay-gateway
  profiles: prod
  cloud:
    nacos:
      #discovery:
        #username: xxx
        #password: xxx
        #server-addr: https://nacos.yezhou.me
      config:
        server-addr: https://nacos.yezhou.me
        context-path: /nacos
        file-extension: yaml
        group: TAOZIPAY
        namespace: production
        timeout: 6000
        username: xxx
        password: xxx
        extension-configs:
          - data-id: common.yaml
            group: DEFAULT_GROUP
            refresh: true

server:
  port: 8805

其中context-path必须改成 /nacos,通过源码追踪可以发现,如果不改,连接的时候会登陆不上,报错403。

加入两个新的依赖

这两个依赖在最新的Alibaba Cloud中没有,需要手动加入,才能使用权限功能

<!-- https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-api -->
<dependency>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-api</artifactId>
    <version>1.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-client -->
<dependency>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-client</artifactId>
    <version>1.2.1</version>
</dependency>

在访问nacos前加入一层nginx

location /nacos/ {
  proxy_pass http://nacosserver/nacos/;
  rewrite (.*)//(.*) $1$2 permanent;
}
location /n/ {
  proxy_pass http://nacosserver/;
  rewrite (.*)//(.*) $1$2 permanent;
}

这样做的目的是为了重写///,保证security的url校验能够成功
其中 nacosserver是nacos的访问url,这里配置了两个,第一个是访问nacos的管理界面,第二个是client注册nacos的url

上一篇 Nacos部署使用MySQL
下一篇 Spring Cloud使用Nacos作为服务配置中心
目录
文章列表
1 PHP以不是某字符开头的正则表达式
PHP以不是某字符开头的正则表达式
2
Maven项目发布注意事项
Maven项目发布注意事项
3
Redis可视化客户端RedisClient
Redis可视化客户端RedisClient
4
Android Studio生成aar和jar
Android Studio生成aar和jar
5
java.io.IOException invalid constant type 18
java.io.IOException invalid constant type 18
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。