2012-02-20 58 views
1

我有一個簡單的應用程序使用Play!框架的安全模塊。我的用戶控制器擴展了CRUD並受@Check('admin')保護,因此用戶必須是管理員才能訪問CRUD方法。但是,我希望任何人都可以創建新的用戶,如「註冊」或「註冊」按鈕。當使用@Check('admin')保護CRUD方法時,實施「註冊/註冊」?

考慮到除Create之外的所有用戶方法都應該受到保護,有什麼方法可以做到這一點?我可以將@Check(「admin」)應用於單個方法嗎?

這裏是我的用戶控制器:

package controllers; 

import play.*; 
import play.mvc.*; 

@Check("admin") 
@With(Secure.class) 
public class Users extends CRUD { 
}; 

回答

0

什麼是做到這一點的好辦法,因爲除了創建我的所有用戶的方法應該受到保護?

在我的實踐,我創建了另一個包與這樣的同名新控制器。

例如,

enter image description here

所以,我認爲最好的方式是你應該把註冊的非管理員方法。

當我找到一些參考後,this link與你有相同的想法,這個話題的答案就像我說的。

我可以將@Check(「admin」)應用於單個方法嗎?

是的,你可以。但是您首先需要在該控制器中使用@With(Secure.class)。 您可以在Secure Module Documentation中看到示例。