Hallo,
ich versuche mich schon seit einigen Stunden daran, dass ich meine HTTP Session in meiner JSF - Seite bekomme.
Ich habe folgendes Szenario:
- Ich rufe in meinem EJB Container eine JSF - Seite in meiner Applikation auf, womit ich später mein PDF generiere...
- Nun möchte ich diese JSF Seite aber mit der gleichen Session aufrufen, wie im EJB... Derzeit ist es aber so, dass im JSF Controller der "Subject currentUser" nicht eingeloggt ist.
Wie kann ich das denn machen?
Ggf. sei noch dazu gesagt, dass ich Apache Shiro verwende.
Hier ein Code Ausschnitt:
Kann hier bitte jemand helfen?
ich versuche mich schon seit einigen Stunden daran, dass ich meine HTTP Session in meiner JSF - Seite bekomme.
Ich habe folgendes Szenario:
- Ich rufe in meinem EJB Container eine JSF - Seite in meiner Applikation auf, womit ich später mein PDF generiere...
- Nun möchte ich diese JSF Seite aber mit der gleichen Session aufrufen, wie im EJB... Derzeit ist es aber so, dass im JSF Controller der "Subject currentUser" nicht eingeloggt ist.
Wie kann ich das denn machen?
Ggf. sei noch dazu gesagt, dass ich Apache Shiro verwende.
Hier ein Code Ausschnitt:
Java:
public PipedOutputStream createPdf(PipedOutputStream os, DocumentDesigner documentDesigner, ObjectForReplacementObject objectReplacement, boolean preview)
throws IOException, DocumentDesignerNotFoundException {
LOGGER.info("START createPdf");
Subject currentUser = permissionSystemUserServiceStoredBean.getSystemUser();
Runnable myRunnable = new Runnable() {
@Override
public void run() {
try {
String url = "http://localhost:8080/mypage"
PdfRendererBuilder builder = new PdfRendererBuilder();
Document doc = html5ParseDocument(url, 0);
builder.withW3cDocument(doc, url);
builder.toStream(os);
builder.run();
os.close();
}
catch (Exception e) {
LOGGER.error(ExceptionUtils.getFullStackTrace(e));
}
}
};
myRunnable = currentUser.associateWith(myRunnable);
managedExecutorService.submit(myRunnable);
return os;
}
private Document html5ParseDocument(String urlStr, int timeoutMs) throws IOException {
if (urlStr == null)
return null;
URL url = new URL(urlStr);
org.jsoup.nodes.Document doc;
doc = Jsoup.parse(url, timeoutMs);
// Should reuse W3CDom instance if converting multiple documents.
return new W3CDom().fromJsoup(doc);
}
Kann hier bitte jemand helfen?