JSF: Authentifizierung für einen einzigen Fall "umgehen

Status
Nicht offen für weitere Antworten.
J

jelly

Gast
Hallo,

ich habe eine Anwendung bei der bestimmte Prozesse manuell über ein Webinterface (in JSF) ausgeführt werden. Die gesamte Anwednung kann nur über ein Login erreicht/bedient werden. Das Problem ist nun das auch ein externes Skript eine bestimmte Seite aufrufen soll und durch übergabe bestimmter Parameter per URL soll ein bestimmter Prozeß (der sonst ebend manuell ausgeführt werden kann) automatisch angestoßen werden. Mit Prozeß meine ich eine Action meiner Bean. Also ich habe es geschafft dass, wenn besagte URL aufgerufen wird und gewisse Parameter übergeben werden, meine Action automatisch ausgeführt wird. Aber wie mache ich das wenn die gesamte Anwendung eine Authentifizierung erfordert? Das Skript kann sich ja schlecht einloggen...

Momentan dachte ich bei der Authentifizierung an einen Filter, der Prüft ob ein User-Objekt in der Session liegt. (Dieses Userobjekt wird bei erfolgreichem Login in die Session gelegt.) Wenn man versucht eine geschützte URL aufzurufen und das Session-Objekt nicht vorhanden ist dann wird man auf die Login-Seite zurückgeführt. Wenn das Skript jetzt versuchen würde die URL aufzurufen dann dann würde nichts passieren da ja theoretisch festgestellt wird das keine Berechtigung da ist.

Ich hoffe ihr versteht einigermaßen was ich meine... :bahnhof:

manuell würde die Seite .../myApp/seite.jsf aufgerufen werden und automatisch .../myApp/seite.jsf?admin=auto&prozess=automatisch&kategorie=1

Gibt es eine Möglichleit den URL-Aufruf mit Parametern aus dem Filter rauszunehmen? Oder kann man irgendwie beim URL-Aufruf künstlich ne Session mit Dummyobjekt mitgeben? Oder muß man die Authentifizierung komplett anders machen? Ich weiß nicht so recht wie ich das anstellen soll das alles geschützt ist nur eben dieser automatische Seitenaufruf mit Parametern nicht...

Gruß
jelly
 

KSG9|sebastian

Top Contributor
Mach nen POST-Request mittels Apache HTTPClient oder ähnliches und Pack User/Passwort in den Request. Und im Skript eben überprüfen ob Logindaten im Request sind...
 

puddah

Aktives Mitglied
wenn ich das richtig verstanden habe, hinterlegst du username und passwort in einem Session Objekt. Das würde ich über JAAS machen.
 
J

jelly

Gast
Hallo,

also so richtig weiß ich nicht ob ich das verstanden habe Sebastian. An dem Skript kann ich nichts verändern. Das besteht ebend nur aus dem Seitenaufruf...das Skript selber agiert wie ein Benutzer und hat vollen Zugriff hat. Denn desweiteren muß ich für die menschlichen Benutzer veschiedene Rollen verteilen. Es gibt ebend ne Vollansicht und eine eingeschränkte für die Anwendung...

jelly
 
S

SlaterB

Gast
> das Skript selber agiert wie ein Benutzer und hat vollen Zugriff hat

ja wie denn nu, bisher klang es ja eher danach als hättest du Problem, dich mit dem Skript einzuloggen
(daher die entsprechenden Antworten)

worum gehts denn überhaupt?

wer soll sie wo wie einloggen?,
wer soll den beschränkten Zugriff haben?,
was hat das denn auf einmal mit der Session zu tun?
was kann alles verändert werden und was nicht?,
wie ist es bisher, wie soll es werden?

benutzt das Skript überhaupt Cookies oder was anderes, um eine Session zu ermöglichen,
 
J

jelly

Gast
Hallo,

vielleicht habe ich mich etwas mißverständlich ausgedrückt...
ich weiß nichts von dem skript nur das es periodisch eine URL mit bestimmtem Parametern aufruft wodurch eine bestimmte action ausgeführt werden soll. das skript wird auch nicht geändert werden und ich bekomme auch keine einsicht/zugriff

soweit so gut. das problem ist das die webanwendung bisher offen wie ein scheunentor war. es soll also ein login drübergelegt werden. wer sich einloggt ist entweder ein light-admin (darf auf die hälfte der seiten der webanwendungen zugreifen) oder ein voll-admin (darf auf die gesamte anwendung zugreifen.)

die url die von dem skript aufgerufen wird soll nur voll-admin-zugriff unterliegen. wenn das skript die url mit parametern aufruft, dann wird über einen phasenlistener eine action ausgeführt. wenn die url über die navigation von einem voll-admin aufgerufen wird dann (wohlgemerkt ohne parameter) dann gibt der voll-admin auf dem formular der seite die benötigten parameter ein und es wird beim abschicken des formulars die selbe action aufgerufen, wie im phasenlistener (wenn die url mit parametern aufgerufen wird).

das problem ist, dass wenn da nun ein sicherheitsmechanismus (momentan ein filter) drüber kommt, wird ein direktaufruf der url unterbunden da diese nur für eingeloggte voll-admins zugänglich ist.

momentan wird durch den sicherheitsfilter ein redirect auf die loginseite gemacht wenn man versucht eine geschützte url aufzurufen...sprich wenn das skript läuft wird die action nie aufgerufen weil der sicherheitsfilter greift.

ich weiß leider so gut wie nichts über dieses skript und weiß auch nicht wie ich das problem sonst schildern soll.
das mit der session hab ich nur erwähnt weil in dem sicherheitsfilter geschaut wird ob ein user-objekt in der session liegt welches den benutzer als light-admin oder voll-admin identifiziert und anhand dessen den seitenaufruf erlaubt oder eine redirct zur login-seite macht.

tut mir leid wenn es unverständlich ist, aber mit sicherheit hatte ich bisher noch nicht viel zu tun ganz zu schweigen von einem skript das sich bisher immer "durchgemogelt" hat.

jelly
 
S

SlaterB

Gast
nun ja, umständlich erklärt, aber wohl doch langsam klar,

bisher war die Aktion ungeschützt und das Skript kam mit seinem Aufruf durch,
nun wird die Seite geschützt und nur eingeloggte User kommen weiter,

bei normalen Usern über Browser funktioniert dies, da diese sich zuvor eingeloggt haben und diese Information gemerkt wird,
das Skript steht aber vor verschlossenen Türen

------------------

zwei-drei Möglichkeiten:
1.
das Skript verhält sich wie ein normaler Browser (benutzt z.B. Cookies) und führt nun ebenso wie normale User vorher einen Login durch,

wird schwierig wenn du das Skript nicht ändern kannst, das wäre ein tiefgreifende Änderung,
wird umso schwieriger wenn du von Cookies, Session und Sicherheitsmechanismen allgemein wenig Ahnung hast

2.
das Skript arbeitet von der Struktur her wie bisher,
sendet aber einen zusätzlichen Paramerter 'ichBinSkriptLassMichDurch=true' mit, der vom Filter berücksichtigt wird,
gefährlich, wenn mal jemand anders auch auf die Idee kommt und dies auch tut,

andererseits auch nicht gefährlicher, als wenn jemand ein Passwort aufschnappt,
also solange man das so geheimhält, wie man Passwörter geheimhält, solange könnte das wohl gehen

wäre immer noch eine kleine Änderung des Skriptes

2.b.
das Skript bleibt völlig wie es ist,
und der Filter versucht anhand anderer Kriterien, das Skript von normalen Request zu unterscheiden,

z.B. die benutzte IP-Adresse/ Port anschauen, den benutzten Rechner, Browser usw.,
alles mögliche, was im Request an Informationen vorhanden ist,

auch wieder mit der Gefahr, dass jemand anders diese Informationen kopiert/ vortäuscht oder zufällig auch hat,
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Authentifizierung und Sessions in Java EE7 Allgemeines EE 0
N Glassfish 4 JDBC-Realm Authentifizierung Beispiel gesucht Allgemeines EE 7
S JBoss 7 Authentifizierung: "No principals available" Allgemeines EE 3
G Allgemeine Frage zu Authentifizierung mittels Servlet API Allgemeines EE 2
E IIS-Servern Authentifizierung erforderlich Allgemeines EE 2
M HTTP Authentifizierung weiter geben Allgemeines EE 4
remus JBoss Authentifizierung mit MYSQL-Datenbank Allgemeines EE 4
G Tomcat und Apache Authentifizierung koppeln Allgemeines EE 3
D Windows Benutzer Authentifizierung Allgemeines EE 11
B NTLM-Authentifizierung Allgemeines EE 6
D Neue Versionen für Serveranwendung Allgemeines EE 2
Oneixee5 JSON für Spring Boot Endpunkte erzeugen Allgemeines EE 8
TheWhiteShadow JSF plugins für tomcat webapp Allgemeines EE 0
R Docker für Windows in Microservices-Projekt Allgemeines EE 2
2 Wildfly JPA Konfiguration für mysql Allgemeines EE 0
R RHCSA/RHCE für Software Architect? Allgemeines EE 1
G JSF Datenstruktur für DataTable Allgemeines EE 2
S Welcher Java EE Applikationserver für RESTful Webservice? Allgemeines EE 2
G Softwarearchitektur für Batchjobs Allgemeines EE 1
A @Webfilter - für doppelte Anmeldung Allgemeines EE 0
R DotNet für J2EE Programmierer Allgemeines EE 1
I Brauche Anregungen für Mandantensystem: Abspeicherung Allgemeines EE 4
R Welches System das beste für programmierer. Linux oder Windows Allgemeines EE 8
L JSP: Dynamischer Content mit Beans für einen Konfigurator? Allgemeines EE 0
M JAX-RS: Unterschhiedliche Typen für POST und GET Allgemeines EE 1
A Zufallstext für YellowPress Allgemeines EE 5
D Prozess für die Zusammenarbeit Allgemeines EE 7
F Gesucht: Gratis Server für Java Entwickler Allgemeines EE 4
A Ideen für Datenhaltung Allgemeines EE 9
c_sidi90 Gute Bücher/Tutorials für Einstieg in JSP/Servlets Allgemeines EE 3
H Glassfish - Open Source Lizenz für den kommerziellen produktiven Einsatz? Allgemeines EE 2
Evil-Devil Server/Tech-Empfehlung für Web-App? Allgemeines EE 12
M Wegweiser für Projekt einer Katastrophen-Stab-SW gesucht! Allgemeines EE 2
slawaweis CMS Unterbau für eine Web 2.0 Anwendung Allgemeines EE 4
B Frameworks/Technologien für Web-Anwendungen Allgemeines EE 16
P Nur ein User für Web Application Allgemeines EE 11
W Struts Tutorial für EE Noobs? Allgemeines EE 2
H Installer für Tomcat-Anwendung Allgemeines EE 5
D maven für javaEE projekt Allgemeines EE 20
Java.getSkill() Anwendung Beans für Formulare Allgemeines EE 5
T Einstieg JEE: Frage für Frage bis zum Erfolg :-) Allgemeines EE 28
Antoras JSP für MVC geeignet? Allgemeines EE 13
I Für dieses Projekt ausreichend? Allgemeines EE 6
P [Maven2] maven-jaxb2-plugin - Kein absoluter Pfad für "<schemaDirectory> möglich??? Allgemeines EE 2
T Suche Buch für: Large Scale Web-Apps | Clustering | Scaling in Java ? Allgemeines EE 4
2 JSTL Tags für eine Bean? Allgemeines EE 4
S Weboberfläche für jconsole Allgemeines EE 5
I Klassen werden nicht für Import erkannt eclipse EE Allgemeines EE 2
F Architekturvorschläge für Online-Wörterbuch? Allgemeines EE 5
foobar Client-Jar und JPA-Entities für Remotzugriff Allgemeines EE 12
G Framework für selbsterstellte Formular und Seiten gesucht Allgemeines EE 3
R Sourcen einbinden von J2EE bzw auch für Servlets in Eclipse Allgemeines EE 8
D Standard für Authentifzierung und Autorisierung Allgemeines EE 5
D Liste für dataTable (JSF) manuell füllen Allgemeines EE 2
R Tutorial für J2EE Allgemeines EE 3
F FORM Auth in JBoss für User mit falscher Rolle ? Allgemeines EE 2
M Eclipse GUI für EJB-QL bzw HQL? Allgemeines EE 4
eskimo328 java oder php für Support-Ticketing-System Allgemeines EE 12
A web.xml für Servlet in Tomcat 5.5 erstellen Allgemeines EE 2
J Timeout für InitialContext Allgemeines EE 2
A web.xml für Servlet in Tomcat erstellen Allgemeines EE 6
J Encoder für Java String in html format Allgemeines EE 6
N Zugriff auf Webapp nur für localhost definieren (Tomcat) Allgemeines EE 2
J Konvertierungs-Fehler: Wert ''{0}'' für Modell ''{1}'' Allgemeines EE 10
flashfactor Gibt es ein Case Management für Java Application Server? Allgemeines EE 6
T Zu blöd für JSTL Allgemeines EE 6
B GlassFish & JAAS - Konfiguration für AppClient Allgemeines EE 1
M Kostenloses JSP Plugin für Eclipse Allgemeines EE 6
flashfactor Gibt es ein Transportsystem für Java EE Allgemeines EE 5
boxi JSF für Anfänger Allgemeines EE 8
F JSF h:outputlink für zurück Allgemeines EE 5
boxi JSF Parameter für die nächste seite übergeben Allgemeines EE 2
W Arbeitsumgebung für JSP-Development einrichten (Eclipse, .) Allgemeines EE 3
F Quiz in JSP - Sessionvariable mitzählen (für richtige Antw.) Allgemeines EE 2
P Basissystem für J2EE App Allgemeines EE 5
P JSP Servlets/ Java Klassen für FTP FileUpload (Bilder) + DB Allgemeines EE 3
W Statistiken für Webseiten? Allgemeines EE 2
E Popup Fenster für fertige JSP Seit? Allgemeines EE 3
G Java EE SDK für Mac OS X? Allgemeines EE 3
K JSP für DB-Verbindung Allgemeines EE 4
H relativer Pfad für stylesheet und Pics Allgemeines EE 5
H Gibt es ein jBoss Tutorial für JSPs ? Für Anfänger ? Allgemeines EE 5
H Test Application für Tomcat Allgemeines EE 3
S String escpapen für JavaScript, Datenbank, HTML Allgemeines EE 2
C Tutorial für JSF Allgemeines EE 4
G WEB-INF/classpath funktioniert nicht für Dateien Allgemeines EE 2
G StandAlone & DB im Intranet [Ehem.: Beratung für Einstei Allgemeines EE 8
Phreaker Wo bekomm ich für den JBOSS ne build.xml her? Allgemeines EE 2
B Java-Client für eBaySOAP-API liefert HTTP(400) Bad Request Allgemeines EE 2
M image für submit button Allgemeines EE 3
F relativer Pfad in Servlets für Dateien Allgemeines EE 2
H Schnelleinstieg für J2EE Projekt? Allgemeines EE 5
B Besondere Ländereinstellungen für eine TomcatApp Allgemeines EE 2
G Firefox Plugin für HTTP (req&resp) visualisierung? Allgemeines EE 2
ronny "jWic" Projekt: Framework für Webapplikationen Allgemeines EE 8
H JNDI Name für die Queue - Connection Factory in JBoss ändern Allgemeines EE 3
A Dateinamen für OutputStream Allgemeines EE 2
C "Data-holding" Klasse für JSP und ear Allgemeines EE 9
G Kickstart für JSF Allgemeines EE 2
D wysiwyg-editor für velocity? Allgemeines EE 3

Ähnliche Java Themen

Neue Themen


Oben