Java @检查(及其关联的方法)永远不会运行
我有这样一个安全类:Java @检查(及其关联的方法)永远不会运行,java,playframework,Java,Playframework,我有这样一个安全类: package controllers; import play.Logger; public class Security extends Secure.Security { static boolean authenticate(String username, String password) { return password.equals("banan"); } static boolean check(String profile) {
package controllers;
import play.Logger;
public class Security extends Secure.Security {
static boolean authenticate(String username, String password) {
return password.equals("banan");
}
static boolean check(String profile) {
Logger.info("profile: %s", profile);
if ("user".equals(profile)) {
Logger.info("connected: %s", connected());
return connected().equals("user");
}
return false;
}
static void onAuthenticated() {
Logger.info("Login by user %s", connected());
}
static void onCheckFailed() {
Logger.info("Check failed!", "omg");
}
static void onDisconnect() {
Logger.info("Logout by user %s", connected());
}
static void onCheckFailed(String profile) {
Logger.warn("Failed auth for profile %s", profile);
forbidden();
}
}
@Check("user")
@With(Security.class)
public class Person extends Controller {
public static void create() {
List<models.person.Person> persons = models.person.Person.find(
"order by createdAt desc").fetch(10);
render(persons);
}
}
还有一个控制器,看起来像这样:
package controllers;
import play.Logger;
public class Security extends Secure.Security {
static boolean authenticate(String username, String password) {
return password.equals("banan");
}
static boolean check(String profile) {
Logger.info("profile: %s", profile);
if ("user".equals(profile)) {
Logger.info("connected: %s", connected());
return connected().equals("user");
}
return false;
}
static void onAuthenticated() {
Logger.info("Login by user %s", connected());
}
static void onCheckFailed() {
Logger.info("Check failed!", "omg");
}
static void onDisconnect() {
Logger.info("Logout by user %s", connected());
}
static void onCheckFailed(String profile) {
Logger.warn("Failed auth for profile %s", profile);
forbidden();
}
}
@Check("user")
@With(Security.class)
public class Person extends Controller {
public static void create() {
List<models.person.Person> persons = models.person.Person.find(
"order by createdAt desc").fetch(10);
render(persons);
}
}
@检查(“用户”)
@With(Security.class)
公共类个人控制器{
公共静态void create(){
列出人员=models.person.person.find(
“通过createdAt desc”进行订购。获取(10);
提供(人);
}
}
check方法从未被调用。甚至没有调用checkAccess(在安全类中)。有什么想法吗?通过查看您发布的代码,我可以看到一个错误(如果您与上的说明进行比较),那就是您应该将
@与(Secure.class)
一起使用
因此,将您的代码从
@Check("user")
@With(Security.class)
public class Person extends Controller {
到