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




Odpovedet emailem