pyramid_whoauth là một chính sách xác thực cho Kim tự tháp mà sử dụng các API repoze.who v2.
Plugin này cho phép bạn cấu hình một đống xác thực repoze.who như một chính sách xác thực kim tự tháp. Nó có một nhà máy repoze.who API và biến nó thành một IAuthenticationPolicy kim tự tháp:
từ repoze.who.config nhập make_api_factory_with_config
api_factory = make_api_factory_with_config (global_conf, "etc / who.ini")
authn_policy = WhoAuthenticationPolicy (api_factory)
config.set_authentication_policy (authn_policy)
Điều này sẽ nạp cấu hình repoze.who từ các tập tin cấu hình cụ thể và móc nó vào Pyramid.
Lợi thế của việc sử dụng pyramid_whoauth thay vì repoze.who middleware là xác thực mà chỉ được thực hiện khi ứng dụng của bạn một cách rõ ràng yêu cầu bằng cách sử dụng ví dụ như authenticated_userid () chức năng của kim tự tháp.
Để thuận tiện, bạn cũng có thể chỉ định tất cả các thiết lập cấu hình repoze.who như là một phần của các thiết lập triển khai paster của bạn. Ví dụ, bạn có thể có những điều sau đây:
[App: pyramidapp]
sử dụng = trứng: mypyramidapp
who.plugin.basicauth.use = repoze.who.plugins.basicauth: make_plugin
who.plugin.basicauth.realm = MyRealm
who.plugin.authtkt.use = repoze.who.plugins.auth_tkt: make_plugin
who.plugin.authtkt.secret = Oh Vì vậy, bí mật!
who.identifiers.plugins = authtkt BasicAuth
who.authenticators.plugins = authtkt BasicAuth
who.challengers.plugins = BasicAuth
Này cấu hình repoze.who để sử dụng "BasicAuth" và "auth_tkt" plugins, sử dụng chấm-thiết lập kiểu kim tự tháp hơn là các tập tin repoze.who config. Sau đó, nó là một vấn đề đơn giản bao gồm các module pyramid_whoauth vào cấu hình của bạn:
config.include ("pyramid_whoauth")
Ngoài cấu hình máy repoze.who API từ các cài đặt nhất định, điều này cũng sẽ thiết lập một số tiện ích bổ sung cho ứng dụng của bạn:
- Một cái nhìn cấm thách thức đối với các thông tin qua repoze.who
- Một cái nhìn xác thực đăng nhập mà bất kỳ thông tin gửi qua POST
- Một cái nhìn logout mà quên gửi tiêu đề khi truy cập
- Một tween mà các cuộc gọi repoze.who "nhớ" phương pháp cho mỗi câu trả lời
là gì mới trong phiên bản này:
- Đặt tween trực tiếp trên các tween EXCVIEW. Điều này sẽ giúp đảm bảo nó là bên dưới tweens khác không liên quan, vì vậy họ sẽ không thấy các ApplicationRedirectException bị ném.
là gì mới trong phiên bản 0.1.1:
- Update để MPL 2.0
Yêu cầu :
- Python
Bình luận không