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 {