簡體   English   中英

金字塔中的用戶身份驗證

[英]User Authentication in Pyramid

我正在構建一個webapp,需要在Django和Pyramid之間進行選擇。 我決定和金字塔一起去。

我知道Pyramid帶有自己的身份驗證/授權框架,看起來不錯。 但我沒有在Pyramid的任何地方看到用戶/組/權限的定義。 在Django這些東西是免費的。

我正在使用SQLAlchemy,並想知道是否已經構建了類似的用戶/組/權限,我可以導入。 我寧願不自己定義這些對象/映射和密碼的哈希/腌制。

Django對這些東西的定義幾乎就是我所需要的。

任何人都可以指出我可以使用的東西嗎? 或者我需要自己動手?

Pyramid具有更靈活的身份驗證系統。 是的,如果你想要像Django的用戶/組/權限概念那樣簡單,那么靈活可能會讓人感到恐懼。

Pyramid沒有“User”對象,因為它沒有假設你如何存儲你的數據或你使用的ORM,所以你沒有像contrib.auth那樣的東西。 您需要使用諸如cryptacular或passlib之類的庫來自己散列/加密密碼,這些庫都可以在PYPI上找到。

至於想要Pyramid系統中的用戶/組/權限,這可以通過定義具有__acl__ __acl__組映射到權限的__acl__來實現。 權限分配給視圖,因此通常非常靜態。 如果您希望這些組(Pyramid稱之為“校長”)是動態的,也是可以實現的。

我建議看一下Pyramid wiki2教程 ,以及槍戰演示

如果您打算使用SQLAlchemy,還有一些第三方軟件包可以在Pyramid中協助授權。 apex是一個更完整的堆棧解決方案, ziggurat_foundations是SQLAlchemy之上的低級層,可幫助您為應用程序設置用戶和組。

你的問題是相當高的水平,授權是一個“難題”,所以我會停在這里,避免將Pyramid教程中已經存在的教程和資源反復出現給幾個第三方示例。 如果您有任何具體問題,請隨時詢問其他問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM