2013-06-17 19 views
19

Tôi muốn viết một thử nghiệm khói đơn giản chạy sau khi triển khai để xác minh rằng thông tin đăng nhập RabbitMQ hợp lệ. Cách đơn giản nhất để kiểm tra xem tên người dùng/mật khẩu/vhost của thỏmq có hợp lệ không?Xác minh thông tin xác thực của thỏm là hợp lệ

Chỉnh sửa: Tốt hơn là hãy kiểm tra bằng cách sử dụng tập lệnh bash. Ngoài ra, sử dụng một tập lệnh Python.

Trả lời

38

Như các bạn đã không được cung cấp bất kỳ thông tin chi tiết về ngôn ngữ, v.v .:

Bạn chỉ có thể đưa ra một yêu cầu HTTP GET đến api quản lý.

$ curl -i -u guest:guest http://localhost:15672/api/whoami 

Xem RabbitMQ Management HTTP API

+0

Sửa câu hỏi của tôi, nhưng câu trả lời này là tốt nhất. –

+2

Thật không may điều này chỉ hoạt động đối với người dùng quản trị – hoitomt

+4

phân biệt giữa "lý do": "Đăng nhập không thành công" và "lý do": "Không phải người dùng quản lý" và bạn có thể biết liệu thông tin đăng nhập có hoạt động ngay cả khi người dùng không phải là quản trị viên – phunehehe

20

Dưới đây là một cách để kiểm tra sử dụng Python:

#!/usr/bin/env python 
import socket 
from kombu import Connection 
host = "localhost" 
port = 5672 
user = "guest" 
password = "guest" 
vhost = "/" 
url = 'amqp://{0}:{1}@{2}:{3}/{4}'.format(user, password, host, port, vhost) 
with Connection(url) as c: 
    try: 
     c.connect() 
    except socket.error: 
     raise ValueError("Received socket.error, " 
         "rabbitmq server probably isn't running") 
    except IOError: 
     raise ValueError("Received IOError, probably bad credentials") 
    else: 
     print "Credentials are valid" 
Các vấn đề liên quan