Sie können das Element <quickStartSecurity> verwenden,
um schnell eine einfache (ein Benutzer) Sicherheitskonfiguration für Liberty zu
aktivieren.
Informationen zu diesem Vorgang
In diesem Abschnitt werden die grundlegenden Schritte für die Konfiguration eines gesicherten Liberty-Servers und einer gesicherten Webandwendung des Liberty-Profils beschrieben. Außerdem sind Konfigurationsaktionen in Liberty dynamisch, d. h., die Konfigurationsaktualisierungen werden ohne Serverneustart wirksam.
Vorgehensweise
- Erstellen und starten Sie Ihren Server.
- Schließen Sie die Features
appSecurity-2.0 und servlet-3.0 in die Datei server.xml ein.
Die Datei server.xml befindet sich im Serververzeichnis
myNewServer, z. B. wlp\usr\servers\myNewServer\server.xml.
<featureManager>
<feature>appSecurity-2.0</feature>
<feature>servlet-3.0</feature>
</featureManager>
- Definieren Sie die Benutzername/Kennwort-Kombination, der die Rolle
Administrator für Server-Management-Aktivitäten zugeordnet werden soll.
<quickStartSecurity userName="Bob" userPassword="bobpwd" />
Anmerkung: Wählen Sie einen Benutzernamen und ein Kennwort aus, die aussagefähig sind. Verwenden Sie nicht den Namen und das Kennwort aus dem Beispiel für Ihre Anwendungen.
- Konfigurieren Sie den Implementierungsdeskriptor mit den relevanten Sicherheitsvorgaben, um die Webressource
zu schützen. Verwenden Sie beispielsweise die Elemente <auth-constraint> und <role-name>,
um eine Rolle zu definieren, die auf die Webressource zugreifen kann.
Die folgende Beispieldatei
web.xml zeigt, dass der Zugriff auf alle URIs in der Anwendung durch die Rolle
testing geschützt ist.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="myWebApp">
<!-- SERVLET DEFINITIONS -->
<servlet id="Default">
<servlet-name>myWebApp</servlet-name>
<servlet-class>com.web.app.MyWebAppServlet</servlet-class>
<load-on-startup/>
</servlet>
<!-- SERVLET MAPPINGS -->
<servlet-mapping id="ServletMapping_Default">
<servlet-name>myWebApp</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!-- SECURITY ROLES -->
<security-role>
<role-name>testing</role-name>
</security-role>
<!-- SECURITY CONSTRAINTS -->
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>testing</role-name>
</auth-constraint>
</security-constraint>
<!-- AUTHENTICATION METHOD: Basic authentication -->
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
</web-app>
- Konfigurieren Sie Ihre Anwendung in der Datei server.xml.
Im folgenden Beispiel wird der Benutzer
Bob der Rolle
testing der Anwendung zugeordnet:
<application type="war" id="myWebApp" name="myWebApp"
location="${server.config.dir}/apps/myWebApp.war">
<application-bnd>
<security-role name="testing">
<user name="Bob" />
</security-role>
</application-bnd>
</application>
- Rufen Sie Ihre Anwendung auf, und melden Sie sich mit dem Benutzernamen Bob an. Der Standard-URL für die Anwendung myWebApp ist
http://localhost:9080/myWebApp.
Ergebnisse
Sie haben Ihre Anwendung gesichert.