Я следил за учебником, знакомящим с платформой Play, но он выдает ошибку:
Исключение выполнения Произошла VerifyError: Ожидание фрейма карты стека в контроллерах методов. Безопасное $ Security.authentify (Ljava / lang / String; Ljava / lang / String;) Z со смещением 33
Я не уверен, что я сделал не так. Код, который я использую (фрагменты):
package controllers;
..
@With(Secure.class)
public class Application extends Controller
{
@Before
public static void setConnectedUser()
{
if (Security.isConnected())
{
User user = User.find("byEmail", Security.connected()).first();
user.password = null;
renderArgs.put("user", user);
}
}
...
Для класса безопасности:
package controllers;
import models.*;
public class Security extends Secure.Security {
static boolean authenticate(String username, String password) {
return User.connect(username, password) != null;
}
}
Я также добавил безопасный модуль в dependencies.yml, который правильно загружается после перезапуска платформы Play. Я добавил безопасную модель к своим маршрутам. Eclipse не выдает ошибок; ошибка возникает только во время выполнения. Класс Secure.Security действительно имеет доступный общедоступный статический метод isConnected. Я использую самую последнюю версию платформы Play (1.2.2).