L'élément <quickStartSecurity> permet de mettre en place rapidement une configuration de sécurité simple (à un seul utilisateur) dans
un serveur de profil Liberty.
Pourquoi et quand exécuter cette tâche
Vous pouvez configurer un serveur de profil Liberty sécurisé et une application Web en effectuant quelques étapes de configuration de base. Les actions de configuration dans le profil 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">
<!-- DEFINITIONS DE SERVLET -->
<servlet id="Default">
<servlet-name>myWebApp</servlet-name>
<servlet-class>com.web.app.MyWebAppServlet</servlet-class>
<load-on-startup/>
</servlet>
<!-- MAPPAGES DE SERVLET -->
<servlet-mapping id="ServletMapping_Default">
<servlet-name>myWebApp</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!-- ROLES DE SECURITE -->
<security-role>
<role-name>testing</role-name>
</security-role>
<!-- CONTRAINTES DE SECURITE -->
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>testing</role-name>
</auth-constraint>
</security-constraint>
<!-- METHODE D'AUTHENTIFICATION : authentification de base -->
<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.