我有一个使用Play的简单应用程序!框架的安全模块。我的'用户'控制器扩展了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 :(得分:0)
有什么好方法可以做到这一点,因为除了Create之外的所有用户方法都应该受到保护?
在我的练习中,我在另一个具有相同名称的包中创建了新的控制器。
例如,
所以,我认为最好的方法是将注册方法放在非管理员中。
在我找到一些参考后,this link对你有同样的想法,这个主题的答案就像我说的那样。
我可以将@Check(“admin”)应用于个别方法吗?
是的,你可以。但是你需要首先在该控制器中使用@With(Secure.class)。 您可以在Secure Module Documentation中看到该示例。