모스 킷토에서 작업 중이며 Redis를 백엔드로 사용하여 사용자 이름/비밀번호 쌍 인증 및 ACL을 처리 할 계획입니다. 나는 이것을하기 위해 JPmens의 인증 플러그인을 사용하고있다. 모스키토에 대한 백엔드로 redis를 사용하는 방법 ACL
는 mosquitto의 conf :SET user1-test 2
:
auth_opt_backends redis
auth_plugin /etc/mosquitto/auth-plug.so
auth_opt_redis_host 127.0.0.1
auth_opt_redis_port 6379
auth_opt_redis_userquery GET %s
auth_opt_redis_aclquery GET %s-%s
다음 이름/암호 쌍은
SET user1 PBKDF2$sha256$901$Qh18ysY4wstXoHhk$g8d2aDzbz3rYztvJiO3dsV698jzECxSg
에 따라 설정이 ACL에 대해 작동하지 않습니다 인증을 위해 잘 작동된다 다음은 모기의 기록입니다 :
1507037072: Denied PUBLISH from mosqpub/3838-ip-172-31- (d0, q0, r0, m0, 'user1-test', ... (4 bytes))
1507037072: Received DISCONNECT from mosqpub/3838-ip-172-31-
그래서 내가 pub/sub mosquitto를 시도 할 때마다 사용자를 인증하지만 게시 및 연결 차단을 허용하지 않습니다.
테스트와 함께 : 서브에 대한
mosquitto_pub -p 1884 -t "test" -m "demo" -u user1 -P xyz
:
mosquitto_sub -p 1884 -t "test" -u user1 -P xyz
Just sa 잉은 도움이되지 않습니다. 어떻게 작동하지 않는지, 모든 메시지를 허용하는지 아니면 전혀 사용하지 않는지 설명해야합니다. 로그를 테스트 할 때 로그에서 무엇을 볼 수 있습니까? 어떻게 테스트하고 있습니까? – hardillb
@ hardillb 나는 질문을 편집했습니다. 그래서, 이제는 문제가 뭔지 말해 줄 수 있니 .. :) –