2009-12-07 61 views
0

我想在我的Django應用程序中擁有RSS源,應該只有登錄用戶才能看到 。我想允許用戶添加這些 RSS訂閱源,所有的聚合器,所以我需要的東西,這將是這樣 工作:用遊戲幣供給飼料URL,例如: http://example.com/feed/rss&token=AeYQtFjQfjU5m使令牌將 導致飼料是看起來好像用戶將會登錄。如何讓RSS聚合器使用僅適用於登錄用戶的提要?

在Django中是否有某個庫會提供這樣的 功能?

回答

2

嘗試使用戶的一些獨特性質的哈希值...像

md5("%s!%s" % (SECRET_KEY, user.username)).hexdigest() 

PS - 我沒有測試此代碼,但你的想法

+0

好的,謝謝。就在兩個注意事項:如果我「進口MD5」它導致類型錯誤:「模塊」對象不是可調用 我花了一段時間才能找出我需要 md5.md5(%(SECRET_KEY,用戶「%s%S!」。用戶名))hexdigest() 但後來發現,這是depreceated,並且因爲Python 2.5,應該使用: hashlib.md5(! 「%s%S」 %(SECRET_KEY,user.username))hexdigest。 () 甚至: hashlib.sha512(! 「%s%S」 %(SECRET_KEY,user.username))hexdigest() – miernik

+0

是的,這應該與'開始從hashlib進口md5' = d – Jiaaro

2

您可以在第一次創建用戶時生成令牌。這樣,您可以在用戶登錄時將該令牌添加到供稿中。稍後,當您的站點爲用戶提供RSS供稿閱讀器時,您只需使用該令牌加載用戶的用戶信息。

+0

,基本上是安全通過隱藏,但同時它是最好的解決方案,因爲RSS聚合器往往對認證支持爲零 – Jiaaro

+0

我沒有描述可以生成令牌的方式。我會使用某種隨機生成的令牌,因爲如果它受到威脅,更容易重新生成。您的解決方案將工作。 –