2011-08-18 12 views
5

Có vẻ như mô hình bảo mật phù hợp với các dự án rất nhỏ, nhưng có lẽ không khả thi để viết tất cả các mật khẩu băm của người dùng đã đăng ký có thể có trong security.py. Bạn có biết bất kỳ ví dụ về mở rộng xác thực của Kim tự tháp, hoặc có bất kỳ lợi ích để gọi thông qua chương trình bảo mật của Kim tự tháp vào cơ sở dữ liệu thông tin bảo mật của riêng tôi?Phép xác thực/ủy quyền có sẵn của Pyramid có thực hiện Đề án bảo mật phức tạp không?

+0

ai đang quảng cáo lưu trữ mật khẩu trong security.py? –

+0

https://docs.pylonsproject.org/projects/pyramid/1.1/tutorials/wiki2/authorization.html có một bản trình diễn rất đơn giản với một {key, raw_password} dict trong security.py – nnythm

+0

Ah ok tôi thấy quan điểm của bạn. Nhưng nó không phải là quá nhiều của một căng cho một người quen thuộc với python để tưởng tượng groupfinder truy vấn một cơ sở dữ liệu hoặc cái gì khác là nó? –

Trả lời

4

Không biết nhu cầu của bạn là gì hoặc ý bạn là gì "tăng cường bảo mật", nhưng chính sách xác thực kim tự tháp rất linh hoạt. Bạn cần hiểu mặc dù nó không duy trì người dùng và mật khẩu mà nó chỉ cung cấp một cơ chế để có được một mã định danh người dùng từ yêu cầu đến. Ví dụ: AuthTktAuthenticationPolicy theo dõi id người dùng theo cookie mà bạn đã đặt bằng phương pháp nhớ.

Thông tin có ý nghĩa nào bạn lấy được từ id người dùng đó hoàn toàn tùy thuộc vào bạn và là ứng dụng cụ thể.

Vì vậy, thực sự câu hỏi mà bạn có thể muốn hỏi là ứng dụng của bạn có thể "tăng cường bảo mật" hay không.

Tôi không thể hiển thị cho bạn mã vì nó độc quyền nhưng tôi cần hỗ trợ openid, http auth và cửa hàng người dùng db điển hình của bạn trên cùng một ứng dụng, với sự phức tạp thêm mà người dùng được lưu trữ trong các cơ sở dữ liệu khác nhau và mảnh vỡ không thể được xác định ngay lập tức. Cần rất ít mã để hỗ trợ điều này.

8

Tôi không nghĩ rằng kích thước của dự án có liên quan đến mô hình bảo mật. Hoặc bạn muốn có một mô hình bảo mật đơn giản hoặc phức tạp. Cả hai có thể được áp dụng cho các dự án có kích thước bất kỳ. Một trong những điểm mạnh của Kim tự tháp là khả năng mở rộng của nó.

Tại sao bạn lưu trữ mật khẩu được băm trong security.py? (cmiiw ở đây, tôi có thể hiểu lầm) Nếu bạn đọc nó trên mã của ai đó, đó có lẽ chỉ là một ví dụ. Trong các ứng dụng thực, bạn lưu chúng trong một hệ thống lưu trữ/kiên trì do bạn chọn.

Một lần nữa, tôi không hiểu ý của bạn là "mở rộng xác thực". Tôi đoán là bạn muốn một số ví dụ làm việc:

3

Tôi đã tự mình xây dựng một cái gì đó cho bản thân mình, giúp xác thực dễ dàng hơn một chút nếu bạn tình cờ sử dụng MongoDB.

https://github.com/mosesn/mongauth

Nó không phải được xây dựng thành kim tự tháp, nhưng lưỡi câu trong một cách dễ dàng đủ. Mọi thứ đều khá trong suốt.

+0

Wow! Đẹp kịch bản bạn đã có .. Đơn giản, nhưng chức năng.! – Augiwan