D'État HTTP 403 erreur de glassfish 3 lorsque vous essayez d'atteindre une mise en œuvre page de connexion
J'ai créé une page de connexion à l'aide d'un bon guide que j'ai trouvé sur Java EE6 et GlassFish3 à l'aide de netbeans.
Après le déploiement du projet lorsque j'essaie d'atteindre la page de connexion, j'ai obtenu un Statut HTTP 403 - Accès à la ressource demandée a été refusée " de GlassFish3 serveur.
L'url que j'utilise est : http://localhost:9999/simplewebapp/admin/admin.jsp
Le guide dit que je devrait automatiquement être redirigé vers la page de connexion que j'ai créé.
Au lieu de cela, je reçois l'erreur ci-dessus.
En regardant les glassfish3 journal que je reçois ces deux lignes quand je suis en entrant l'url ci-dessus.
INFO: JACC Politique de Fournisseur de:Échec de la Vérification d'Autorisation: le contexte (" simplewebapp/simplewebapp ") , la permission (" (javax.de sécurité.jacc.WebUserDataPermission /admin/login.jsp) ")
INFO: JACC Politique de Fournisseur de:Échec de la Vérification d'Autorisation: le contexte (" simplewebapp/simplewebapp ") , la permission (" (javax.de sécurité.jacc.WebUserDataPermission /admin/login.jsp OBTENIR:CONFIDENTIEL) ")
Un peu plus de détails :
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<security-constraint>
<display-name>Admin Pages</display-name>
<web-resource-collection>
<web-resource-name>Administrative Pages</web-resource-name>
<description/>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description>admin</description>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>file</realm-name>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/loginerror.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description>Administrators</description>
<role-name>admin</role-name>
</security-role>
<security-role>
<description>Users</description>
<role-name>user</role-name>
</security-role>
</web-app>
glassfish-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<security-role-mapping>
<role-name>admin</role-name>
<group-name>appadmin</group-name>
</security-role-mapping>
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
</glassfish-web-app>
Ce que je fais mal?
Merci.
Mon login.jsp fichier est dans le répertoire racine de l'application comme dans le livre de code que j'ai téléchargé.
OriginalL'auteur skiabox | 2012-02-19
Vous devez vous connecter pour publier un commentaire.
Le problème est résolu.J'ai dû ajouter des noms de principal dans glassfish-web.xml et un rôle-nom dans web.xml.
Corriger des fichiers :
web-xml
glassfish-web.xml
OriginalL'auteur skiabox
À l'aide de la Console d'administration de glassfish cela a fonctionné pour moi:
Sélectionnez "server-config" en vertu de Configurations et d'accéder à la page Sécurité. Sur cette page
vous devez activer le " Défaut Principal pour Rôle de définir la Cartographie de l'option. L'avantage de cette option est qu'elle nous permet d'utiliser les rôles définis pour les utilisateurs peu de temps, automatiquement, sans
ce qui nous oblige à faire une déclaration XML dans un glassfish fichier de configuration pour notre projet.
OriginalL'auteur kravits88
Pour le garder "standard", je pense que c'est la meilleure option, parce que si vous êtes en utilisant simplement un conteneur web (par exemple. tomcat), tu ne vas pas avoir à configurer rien d'autre que royaume. Dans mon cas, j'ai été en utilisant Eclipse et a dû annuler le déploiement du projet et le redéployer.
Merci beaucoup.
OriginalL'auteur camposer