JAAS LoginModule login () и commit () успешно, но пользователь не авторизован - PullRequest
0 голосов
/ 28 сентября 2010

Я реализовал LoginModule, чтобы выполнить некоторую пользовательскую аутентификацию и вызвать аутентификацию, используя метод login () класса LoginContext.Методы login () и commit () модуля входа в систему вызываются успешно, но вместо возможности использования веб-приложения меня сразу же возвращают на страницу входа.request.getUserPrincipal () имеет значение null, равно как и request.getRemoteUser ().

Любые идеи будут приняты с благодарностью.Спасибо!

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Кроме того, сразу после того, как я позвоню loginContext.login() на входной стороне, вызов loginContext.getSubject().getPrincipals() даст мне правильный список руководителей и ролейпользователь, который только что вошел в систему.

Я использую Tomcat 6.0.29 в качестве сервера.

Ответы [ 2 ]

1 голос
/ 28 сентября 2010

мм выстрел в темноте

Вы пытались дать разрешение в файле политики, как это

grant codeBase "file:/myCustomModule.jar" {
  permission javax.security.auth.AuthPermission "modifyPrincipals";
  permission javax.security.auth.AuthPermission "modifyPublicCredentials";
  permission javax.security.auth.AuthPermission "modifyPrivateCredentials";
};
0 голосов
/ 15 ноября 2010

Я пытался выполнить программный вход в Tomcat, и хотя модуль входа в систему работал, контейнер не получал аутентификацию.Мое решение состояло в том, чтобы сделать аутентификацию, используя HTML-форму с "j_security_check" в качестве его действия.

...