Vous pouvez utiliser l'élément <quickStartSecurity>
pour activer rapidement une configuration de sécurité simple (un utilisateur) pour Liberty.
Pourquoi et quand exécuter cette tâche
Vous pouvez configurer un serveur Liberty sécurisé et une application Web en effectuant quelques étapes de configuration de base. Les actions de configuration dans Liberty sont dynamiques, ce qui signifie que les mises à jour apportées à la configuration
prennent effet sans qu'il ne soit nécessaire de redémarrer le serveur.
Procédure
- Créez et démarrez votre serveur.
- Incluez les fonctions
appSecurity-2.0 et servlet-3.0 dans le fichier
server.xml.
Le fichier server.xml se trouve dans le répertoire du serveur myNewServer, par exemple wlp\usr\servers\myNewServer\server.xml.
<featureManager>
<feature>appSecurity-2.0</feature>
<feature>servlet-3.0</feature>
</featureManager>
- Définissez la combinaison nom d'utilisateur/mot de passe à laquelle vous
donnez le rôle Administrator pour les activités de gestion
du serveur.
<quickStartSecurity userName="Bob" userPassword="bobpwd" />
Remarque : Choisissez un nom d'utilisateur et
un mot de passe qui ont un sens pour vous.
Pour vos applications, n'utilisez jamais les noms et les mots de
passe figurant dans les exemples.
- Configurez le descripteur de déploiement avec les contraintes de sécurité nécessaires à la
protection de la ressource Web. Par exemple, utilisez les éléments <auth-constraint> et <role-name> pour définir un rôle pouvant accéder à la ressource Web.
Dans l'exemple de fichier
web.xml suivant, l'accès à tous les
URI dans l'application est protégé par le rôle
testing.
<?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>
- Configurez votre application dans le fichier server.xml.
Dans l'exemple suivant, l'utilisateur
Bob est mappé
au rôle
testing de l'application :
<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>
- Accédez à votre application et connectez-vous avec le nom d'utilisateur Bob. L'URL par défaut de l'application myWebApp est http://localhost:9080/myWebApp
Résultats
Votre application est à présent sécurisée.