Я следовал обучающей программе, знакомящей с платформой 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. Я добавил безопасную модель в мои маршруты. Затмение не дает ошибок; ошибка возникает только во время выполнения. Класс Secure.Security действительно имеет открытый статический метод isConnected. Я использую самую последнюю версию для платформы Play (1.2.2).