Wie können Sie "HTTPS umleiten" Arbeit auf dem WebSphere Application Server Liberty Profile?
Ich will HTTP-Redirect arbeiten, die auf dem WebSphere Application Server Liberty Profile (WLP). Zum Beispiel:-
Wenn der Benutzer die Typen:
http://localhost:8080/helloworld
der browser sollte automatisch gehen (werden weitergeleitet)
https://localhost:9443/helloworld
Um dies zu erreichen, folgte ich diesem Dokument, Abschnitt 6.2, Seite keine. 136.
Unten ist die Probe server.xml und web.xml:-
server.xml
<server description="new server">
<!-- Enable features -->
<featureManager>
<feature>jsp-2.2</feature>
<feature>wab-1.0</feature>
<feature>jaxrs-1.1</feature>
<feature>blueprint-1.0</feature>
<feature>localConnector-1.0</feature>
<feature>ssl-1.0</feature>
<feature>appSecurity-2.0</feature>
</featureManager>
<httpEndpoint host="localhost" httpPort="8081" httpsPort="9442" id="defaultHttpEndpoint">
</httpEndpoint>
<applicationMonitor updateTrigger="mbean"/>
<keyStore id="defaultKeyStore" password="{xor}Lz4sLCgwLTtu"/>
<application id="Hello.app" location="Hello.app.eba" name="Hello.app" type="eba"/>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name>Hello</display-name>
<security-constraint>
<display-name>HTTPS Redirect Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Sample Web Service service</web-resource-name>
<url-pattern>/Hello</url-pattern>
<http-method>GET</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
</web-app>
Entfernt <servlet>
und <servlet-mapping>
tag für die Kürze.
Unten sind die Versionen, die ich benutze:-
Java 7, WLP 8.5.5, Eclipse Juno, Google Chrome.
Jede Hilfe, Richtlinien auf, warum HTTPS redirect wird nicht die Arbeit wird sehr geschätzt.
InformationsquelleAutor Anuroop | 2013-07-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich vermute das problem ist in Ihre security-constraint. Es bei der Suche, würde ich vorschlagen, ändern Sie Ihre url-pattern werden:
statt:
Wenn Sie möchten, passen mehrere Ressourcen, die Sie für die Verwendung von Platzhaltern wie z.B.:
Deine Theorie ist leider falsch, wie Sie nicht brauchen, auth-constraint nur für https-Umleitung. Sie brauchen auch nicht die Schritte die Schritte 1 und 2 aus Ihrer Lösung noch login-config. Als login ist nicht erforderlich für die Umleitung.
InformationsquelleAutor Alasdair
HTTPS-Redirect arbeiten an WLP, die folgenden Punkte sollte geachtet werden:-
server.xml
von WLP.server.xml
von WLP.web.xml
<login-config>
<security-constraint>
<security-constraint><web-resource-name></security-constraint>
<security-constraint><auth-constraint></security-constraint>
<security-constraint><user-data-constraint></security-constraint>
Unten sind die Schritte im detail:-
1. Hinzufügen von Benutzern, Rollen und Passwörtern in
server.xml
von WLP.2. Binden Sie die Anwendung der Sicherheitsrolle.
3. Hinzufügen appSecurity-2.0-feature in
server.xml
von WLP.4.1, 4.2, 4.3, 4.4, 4.5
Zusätzlich mit WebSphere Classic 9, wenn es zu tun, nur mit den security-constraint wird es auch eine Anmeldung erforderlich ist, so wird es nicht den anonymen Zugriff zulassen. Scheint, dass die sicherste Art und Weise zu unterstützen, anonym, websphere leitet, ist durch einen filter-wie bereits von @Vince Thyng
InformationsquelleAutor Anuroop
Ich löste das Problem auf eine andere Weise, aber ich denke, dass die akzeptierte Antwort besser sein könnte. Schreiben Sie ein servlet-filter und ändern Sie dann die web.xml zuordnen es mit einem Pfad.
Den web.xml code:
Den filter-code:
InformationsquelleAutor Vince Thyng