2012-03-13 25 views
9

Tôi đang tìm một khung/mô-đun/gói dựa trên vai trò cho ứng dụng được viết bằng Python (2.7) chạy trên Google App Engine.Cơ chế cấp phép dựa trên vai trò cho ứng dụng GAE

Với vai trò dựa trên tôi có nghĩa là cơ chế cho phép tôi kiểm tra (trong quá trình xử lý yêu cầu phần lớn thời gian) cho dù người dùng nhất định có thể thực hiện một hành động cụ thể hay không.

Một trường hợp cặp vợ chồng sử dụng:

  • người dùng A sẽ có thể xem và chỉnh sửa hồ sơ của riêng, trong khi người dùng B chỉ có thể thấy người dùng A profile.
  • người dùng có vai trò "quản trị" sẽ có thể xem tất cả người dùng đã đăng ký, trong khi người dùng A và người dùng B chỉ có thể xem người dùng có hồ sơ công khai (ví dụ: người dùng có user.public property được đặt thành True)
  • , vv

tôi đang tưởng tượng cái gì đó như

user_a.is_able_to('read', user_b) # -> True of False 

hoặc

user_a.authorize('update', user_b) # raises an exception if 'not allowed to' 

Cho đến nay tôi chỉ nhìn thấy acl.py từ tipfy. Trông khá đơn giản và khá gần với những gì tôi đang tìm kiếm. Tôi tự hỏi liệu có cái gì đó tương tự như acl.py đó, tốt nhất là được triển khai bằng NDB.

+0

[Ở đây] [1] là đề xuất triển khai tốt. [1]: http://stackoverflow.com/questions/1448308/role-based-security-with-google-app-engine-and-python – husayt

+0

Yeah, tôi có một vài ý tưởng về cách tự mình thực hiện nó. Tôi đã tự hỏi liệu có ai đó/một cái gì đó đã được thực hiện. Nó có vẻ không mặc dù (một phần từ tipfy) vì vậy tôi có lẽ sẽ tự làm. – alex

Trả lời

2

Web2py có quyền kiểm soát truy cập dựa trên vai trò mà tôi tin rằng hoạt động trên GAE. Đây là tài liệu ở đây:

http://web2py.com/books/default/chapter/29/9

Bạn có thể đến ngã ba mô-đun auth và mod nó cho mục đích của bạn. Tôi biết mọi người đã làm điều này với các phần khác của web2py như DAL.

1

Biến tần và khung Web2py có quyền kiểm soát truy cập dựa trên vai trò, bạn có thể tích hợp một trong số chúng trên phiên bản Python GAE.

Các vấn đề liên quan