2011-04-11 3 views
4

Je souhaite créer un domaine JDBC pour mon application Web. Comme mes utilisateurs sont très différents les uns des autres, je n'ai besoin que d'une seule table, avec les noms d'utilisateurs et les mots de passe pour le domaine, j'ai décidé de créer une nouvelle table dans ma base de données appelée ROLE (oneToOne).Création de mon premier domaine JDBC (Glassfish V3)

Voici comment mes utilisateurs modèle de domaine ressemble: enter image description here

Je suivais ce tutoriel http://blog.gamatam.com/2009/11/jdbc-realm-setup-with-glassfish-v3.html mais je suis coincé, je ne sais pas comment continuer.

Je signalerai la configuration i faite au serveur GlassFish et mon fichier sun.resources.xml de sorte que vous pouvez me corriger si je fais une erreur: enter image description here

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE resources PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Resource Definitions //EN" "http://www.sun.com/software/appserver/dtds/sun-resources_1_3.dtd"> 
<resources> 
<jdbc-resource enabled="true" jndi-name="jdbc/myDatasource" object-type="user" pool- name="Derby_grupovina_grupovinauserPool"/> 
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="org.apache.derby.jdbc.ClientDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="Derby_grupovina_grupovinauserPool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false"> 
<property name="serverName" value="localhost"/> 
    <property name="PortNumber" value="1527"/> 
    <property name="DatabaseName" value="grupovina"/> 
    <property name="User" value="grupovinauser"/> 
    <property name="Password" value="grupovina"/> 
    <property name="URL" value="jdbc:derby://localhost:1527/grupovina;create=true"/> 
    <property name="driverClass" value="org.apache.derby.jdbc.ClientDriver"/> 
    </jdbc-connection-pool> 
    </resources> 

Dans le comfiguration ci-dessus i J'ai quelques doutes, je ne comprends pas vraiment ce que je devrais ad à la table de groupe et la colonne de nom de groupe. Le didacticiel im following dit que je devrais ajouter des rôles de sécurité au fichier sun-web.xml, et je voulais le faire mais je ne sais pas quoi mettre dans la configuration. C'est juste ce que j'ai ajouté à ce fichier mais je pense que ce n'est pas correct. Où dans ce fichier dois-je ajouter le mappage de rôle et comment dois-je le configurer?

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd"> 
<sun-web-app error-url=""> 
<context-root>/GroupBuySystem</context-root> 
<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>  
<security-role-mapping> 
<role-name> </role-name> 
<group-name> </group-name> 
</security-role-mapping> 
</sun-web-app> 

Le gars du tutoriel a dit qu'il n'a pas besoin d'un web.xml, mais je besoin de ce fichier. Que dois-je ajouter mon web.xml?

Ceci est mon premier royaume jdbc, je suis très confus :)

Répondre

2

Je suppose (à partir de votre question précédente) que vous ne disposez pas d'une table de groupe. En fait, vous n'en avez pas nécessairement besoin. JDBCRealm fonctionne uniquement avec une table utilisateur contenant une colonne de groupe.

Dans votre Glassfish changement de console d'administration suivantes:

Groupe Tableau: Rôle

Nom du groupe Colonne: userType

Depuis que vous avez utilisé différents typages (cas de lettres) pour le mot "rôle", assurez-vous que les valeurs de configuration de votre domaine sont exactement les mêmes que dans le tableau.

Questions connexes