Domanda

Ho implementato un LoginModule per eseguire alcuni autenticazione personalizzata, e chiamare l'autenticazione utilizzando il login (metodo della classe LoginContext). login del modulo di login () e commit () metodi vengono chiamati con successo, ma invece di essere in grado di utilizzare l'applicazione web che sto essere rimandato alla pagina di accesso immediatamente. request.getUserPrincipal () è nullo, così come request.getRemoteUser ().

Tutte le idee sarebbe molto apprezzato. Grazie!

informazioni aggiuntive

Inoltre, subito dopo che io chiamo loginContext.login() sul front-end, chiamando loginContext.getSubject().getPrincipals() mi dà la giusta elenco dei committenti e ruoli per l'utente che appena effettuato l'accesso.

sto usando Tomcat 6.0.29 come il mio server.

È stato utile?

Soluzione 2

I stava cercando di fare login programmatica in Tomcat, e anche se il modulo di login è in esecuzione, il contenitore non riceveva l'autenticazione. La mia soluzione era di fare l'autenticazione utilizzando un modulo HTML con "j_security_check", come di azione.

Altri suggerimenti

umm un salto nel buio

Hai provato dare il permesso nel file delle politiche in questo modo

grant codeBase "file:/myCustomModule.jar" {
  permission javax.security.auth.AuthPermission "modifyPrincipals";
  permission javax.security.auth.AuthPermission "modifyPublicCredentials";
  permission javax.security.auth.AuthPermission "modifyPrivateCredentials";
};
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top