No, Anonymous Vam vrati preto, lebo vytvorite nieco taketo
Subject subj = new Subject();
ale nepoviete kontaineru, ze ma ten subjekt pouzivat, resp. kontainer
nevie, ze ste prihlasovali nejakeho usera. preto mate 2 moznosti.
1. Pouzit metodu |*Subject.doAs
<../../../javax/security/auth/Subject.html#doAs%28javax.security.auth.Subject,%20java.security.PrivilegedAction%29>*(Subject
<../../../javax/security/auth/Subject.html> subject, PrivilegedAction
<../../../java/security/PrivilegedAction.html> action)
V PrivilegedAction, v metode run implementujete pozadovanu akciu,
ktora ma bezat pod danym security subjectom.
2. Najst sposob, ako povedat kontaineru, ze mate autentifikovaneho usera
a ze ma tento subjekt.
Toto je trosku tvrdsi oriesok, v jbosse sa na to pouziva
|org.jboss.security.SecurityAssociation metoda pushSubjectContext.
A pri odlogovani metoda clear.
|
|
Ales Dostal wrote:
Diky moc,
tak nejak jsem se s tim popral. Vytvoril si vlastni login module,
zalogoval se, vsechno OK.
Ale...
Kdyz ted zkusim (po login()) zavolat EJB beanu a v ni si testnu:
ctx.getCallerPrincipal().getName(); tak mi vrati ANONYMOUS :(
Na klientovi jsem si udelal vlastni login module:
mymodule {
irminsul.app.auth.LoginModuleTest required;
};
Na serveru mam JDBCRealm, do ktereho vstupuji. Nejdrive mi to hlasilo,
ze neni prirazena skupina, coz jsem vyresil na app. serveru, takze o
tom prihlaseni tak nejak vi.
Ale nyni jsem s timto zase v pasti :(
Ten login module na klientovi vlastne vzdalene zavolal EJB a
zjistoval, zda se muze pripojit ci ne. Na klientovi mi to sice
funguje, ale zase na serveru jsem v ..... :(
________ Information from NOD32 ________
This message was checked by NOD32 Antivirus System for Linux Mail
Servers.
http://www.eset.com
__________ Informacia od NOD32 2368 (20070701) __________
Tato sprava bola preverena antivirusovym systemom NOD32.
http://www.eset.sk