2011-10-09 52 views
2

我有興趣使用play框架構建一個web應用程序。我喜歡我所看到的。 但是,在閱讀安全文檔時,僅使用安全模塊進行控制器/操作身份驗證。對象ACL和通道安全

我可以問是否有添加認證模型對象?類似於Spring Security ACLs?

此外,在模塊文檔中沒有提到通道安全性,因爲我希望在用戶通過身份驗證時通過HTTPS提供Web應用程序,如果沒有通過HTTP提供HTTP通知。


感謝您的信息。安全和死鎖模塊用於基本的控制器安全性,我正在尋找一些功能與Spring Security類似的產品。

我看了一下Apache Shiro,雖然它比Play框架模塊提供了更好的安全性,但它沒有提供類似於Spring Security的Domain Object ACL的安全模型對象的功能。

在java安全領域沒有什麼嚴肅的競爭者可以與Spring Security競爭。如果只有Spring Security不依賴於Servlet API,我會考慮將其綁定到我的Play應用程序中。

回答

1
  • 檢查secure module用於保護控制器方法。

  • 雖然我沒有使用它,但也有一個模塊叫做deadbolt授權。

  • 文檔/教程和示例非常詳盡。 tutorial會帶您通過安全地添加身份驗證。

  • 看看security guide可以讓你瞭解遊戲如何接近安全。

  • Https不是問題。根據我的經驗,更好的服務是像apache這樣的反向代理服務於您的Play!應用程序。

0

如果您需要更細化的安全性,我建議使用security-permissions模塊。它允許您定義實例級訪問控制(而不是級別級別或組級別),它基於drools

規則看起來像這樣,但您可以自定義最後一行以匹配特定用戶,並且這些操作也是自定義的,因此您可以定義自己的行爲。

/* Admins can only edit postcards and letters */ 
rule CanUserEditLetter 
when 
    $cs: Item(name == "letter") 
    $c: PermissionCheck(target == $cs, action in ("delete", "update", "insert")) 
    Role(name == "admin") 
then 
    $c.grant(); 
end