Tôi tự hỏi - nếu có ai có giải pháp thanh lịch để kiểm tra vé Kerberos hợp lệ bằng cách sử dụng Python. Tuy nhiên, tôi không thấy bất cứ điều gì với kinit
hoặc klist
sẽ hiển thị nếu vé hết hạn với mã trả lại nhưng tôi có thể chạy klist
và sử dụng regex cho đầu ra.python: xác thực vé kerberos
6
A
Trả lời
3
Bạn có hai tùy chọn: đầu tiên là sử dụng 'klist -s' và kiểm tra mã trả lại. Các tùy chọn đẹp hơn là sử dụng mô-đun python-krbV:
import krbV
def has_ticket():
'''
Checks to see if the user has a valid ticket.
'''
ctx = krbV.default_context()
cc = ctx.default_ccache()
try:
princ = cc.principal()
retval = True
except krbV.Krb5Error:
retval = False
return retval
4
Một lựa chọn khác là để kiểm tra trạng thái thoát của 'klist -s' trông ngắn hơn và không sử dụng krbV:
import subprocess
def has_kerberos_ticket():
return True if subprocess.call(['klist', '-s']) == 0 else False
+1
Ngắn gọn hơn, 'trả về không phải là subprocess.call (['klist', '-s'])'? – scubbo
Các vấn đề liên quan
- 1. Xác thực Kerberos với python
- 2. Xác thực Kerberos trong Rails
- 3. Android xác thực bằng Kerberos
- 4. Cách lấy vé dịch vụ Kerberos qua GSS-API?
- 5. Lưu trữ xác thực Kerberos để mạo danh sau
- 6. Tôi làm cách nào để có được vé Kerberos với Delphi?
- 7. Làm cách nào để truy xuất tư cách thành viên nhóm từ vé kerberos?
- 8. SPNEGO (tạo/xác thực mã thông báo kerberos) cho SSO bằng cách sử dụng Python
- 9. Xác thực Java và Kerberos krb5.conf so với System.setProperty
- 10. xác thực cửa sổ: thương lượng, ntlm và kerberos
- 11. Xác thực với sharepoint với kerberos từ một java HttpClient
- 12. Xác thực NTLM bằng Python
- 13. Có thể 2 luồng Java xác thực là hai người dùng Kerberos khác nhau (trong cùng một quy trình) không?
- 14. ASP.NET xác thực trượt hết thời gian trên vé tùy chỉnh
- 15. tìm hiểu lý do tại sao vé xác thực asp.net hết hạn
- 16. Cố gắng giải mã vé FormsAuthentication luôn không thể xác thực dữ liệu
- 17. Mở rộng xác thực biểu mẫu để sử dụng tiêu đề http tùy chỉnh cho vé
- 18. Lỗi 4005 Xác thực biểu mẫu không thành công - vé được cung cấp đã hết hạn
- 19. checksum không thành công: Kerberos/Spring/Active Directory (2008)
- 20. Có * ai * có Windows SVNServe xác thực với AD/Kerberos qua SASL/GSSAPI không?
- 21. Sử dụng xác thực Kerberos cho ứng dụng Máy chủ/Ứng dụng
- 22. kerberos từ Java - nhận Chủ đề cho người dùng hiện đã được xác thực
- 23. Truy cập trang web SharePoint từ một ứng dụng Java có xác thực Kerberos
- 24. Xác thực Kerberos Java dường như hoạt động, vẫn bị từ chối
- 25. Định cấu hình Firefox 3.0.x để xác thực với Kerberos và không nhắc
- 26. xác thực bằng ntlm (hoặc kerberos) bằng cách sử dụng java UrlConnection
- 27. SSO trong suốt với SAML (IE, SAML 2.0, ADFS, xác thực Kerberos)
- 28. couchDB, python và xác thực
- 29. Kerberos for Thrift?
- 30. Ủy quyền Kerberos không hoạt động trong chrome
Lưu ý rằng đây không phải là tương đương: klist -s cũng thoát ra khác 0 nếu có một ccache với TGT, nhưng TGT đã hết hạn. Mã krbV ở trên không kiểm tra xem vé đã hết hạn hay chưa; chỉ có một ccache ở tất cả (bằng cách đọc hiệu trưởng mặc định từ nó). Và, OP đặc biệt hỏi về vé hết hạn. –
Điều gì về Python 3? krbV dường như không hoạt động. – dmranck
Một, nó không biên dịch. Hai, nó không trả lời câu hỏi. Nó không có bất kỳ thông tin nào về việc vé có hết hạn hay không. Tìm hiểu để viết câu trả lời thực sự trả lời câu hỏi, thay vì phun một số rác ngẫu nhiên. –