Benutzerdaten über Portlet speichern - Authentifizierung

Status
Nicht offen für weitere Antworten.

melly

Mitglied
Hallo,

ich habe ein Portlet entwickelt, welches Eingaben in ein Textfeld in einer Datenbank speichert , quasi ein Notizblock.

Ich arbeite mit Netbeans, Glassfish und dem 'Open Portal Portlet Container'.

Ich habe nun über Glassfish Benutzer angelegt. Diese Nutzer können sich auch im 'Open Portal Portlet Container' anmelden.

Wenn sich nun ein Benutzer im 'Open Portal Portlet Container' anmeldet und Einträge in das Portlet-Notizblock macht, sollen Kennwort und Passwort des Nutzers mit den Notizen in der Datenbank gespeichert werden, damit wenn der User sich das nächste Mal anmeldet, ihm seine privaten Notizen angezeigt werden. Sozusagen ein persönliches Notizbuch.

Ich habe schon im Internet gesucht, bis jetzt aber nichts gefunden. Hat jemand eine Idee, wie ich das umsetzen kann?

Vielen Danke,
Grüße Melly
 
Einfach user und passwort mitspeichern? Wobei ich das passwort nicht mitspeichern würde, da

1.) Sicherheitsrisiko
2.) Wenn sich das Passwort ändert sind die Notizen weg
 
Hallo,

was ich nicht weiß ist: Wie kann ich denn den Benutzernamen und das Passwort (welches beim Portlet Container eingegeben wurden) auslesen, um es dann in der Datenbank zu speichern?

Danke,
Grüße Melly
 
Also mit deiner Kombination habe ich noch nicht gearbeitet, aber ich kann dir sagen, wie du ihn bei einem JSR 168 Portlet auf einem Websphere Portalserver bekommst. Evtl hilft dir das ja.

1.) Im Portlet Deployment Descriptor das User Attribute "uid" anlegen
2.) Im Portlet

Code:
Map user = (Map) request.getAttribute(PortletRequest.USER_INFO);
String currentUser = (String) user.get("uid");

request ist das PortletRequest

Und das Passwort ... nunja ... das sollte im Idealfall nicht in der Session gehalten werden 😉 .
 
Hallo,

vielen Dank für die Antwort, hat mir auf jeden Fall weiter geholfen. Werde das Passwort dann lieber nicht mit speichern.


Ich habe die view-Methode nun umgeschrieben und möchte mir die 'User_Info' ausgeben lassen, um zu sehen was drin steht:



Code:
public class View extends AbstractPageBean {
    
    
    public void View(RenderRequest request, RenderResponse response) throws IOException, PortletException {
        
        
       Map user = (Map) request.getAttribute(PortletRequest.USER_INFO);
       String currentUser = (String) user.get("uid");   
        
   
       staticText1.setText("Userinfo: " + currentUser );
     
    }



Aber wenn ich das Portlet starte ist der staticText zwar da, aber der Inhalt wird nicht angezeigt, auch nicht "Userinfo", als ob die View-Methode garnicht aufgerufen wird.

Auch anderer Quellcode, den ich in die View-Methode schreibe wird nicht ausgeführt...


Grüße Melly
 
Ich habe ein Projekt in Netbeans angelegt (Web Application ohne irgendwelche Frameworks) und dann zum fertigen Projekt mit rechter Maustaste eine 'Visual Web JSF Portlet Page' zugefügt und diese als 'View Mode Page' angegeben. Die Methode View() war dann schon da....
 
Mit JSF kenne ich mich leider nicht aus. Aber du wirst doch wohl noch irgendwo irgendwie ein einfaches Portlet starten können, oder!? 😉
 
Das Portlet lässt sich auch ganz normal starten.

Ich arbeite aber das erste Mal mit Portlet Pages und habe deshalb die doView()-Methode nicht und weiß deshalb nicht, wie ich ein Request richtig auslesen kann.

Ich habe eine RequestBean1, wahrscheinlich hat es damit etwas zu tun...
 
Dann solltest du dich mal dringends einschlägige Tutorials und Literatur zu diesem (sehr komplexen) Thema durchlesen, bevor du irgendwas machst, von dem du keine ahnung hast 😛
 
Nach Tutorials habe ich schon gesucht und ein Buch habe ich mir auch schon ausgeliehen, da steht es aber auch nicht drin...
 
Was ist das denn für ein Buch, wo dir nichtmal gezeigt wird, wie du ein Portlet zum Laufen bekommst!? Evtl. solltest du dafür einen neuen Thread aufmachen (hat ja nichts mit dem Problem in diesem Thread hier zu tun) - auch wenn ich bezweifle, dass dir jemand so was elementares erklärt. Aber evtl. bekommst du ja ein paar Tutorial/Buchtipps ... 🙂

Sobald du weißt, wei du ein Portlet startest, kannst dich ja wieder in diesem Thread melden 😉 .
 
Wie schon gesagt, ich weiß wie man ein Portlet startet und es lässt sich auch starten. Ich arbeite aber mit einer Visual Web JSF Portlet Page und da habe ich keine doView-Methode, weil es kein GenericPortlet ist, sondern eine AbstractPageBean und ich wusste deshalb nicht, wie ich den Request auslesen kann. Ich habe nach einer Möglichkeit gesucht den Usernamen auszulesen und habe die Antwort in einem anderen Forum bekommen:

Code:
String username = ((PortletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).getRemoteUser();


Und das stand nicht in meinem Buch.... :roll:
 
Wunderbar, wieder was gelernt 🙂 . Sorry für die Verwirrung, aber bei J2EE gibt es soooooooo viele verschiedene Frameworks, Tools, ... da blickt keine Sau mehr durch 😉 .
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben