Ciao, ho un problema con il form di autenticazione nella mia pagina web, come da oggetto utilizzo glassfish 4 ed ho creato su di esso un nuovo jdbcRealm tramite il quale gestire le autenticazioni.
Premetto che il login utilizzando il file realm di glassfish 4, funziona.
queste sono le tabelle create su MS sql server:
table.jpg
la seguente è la configurazione del realm su glassfish:
jdbcRealm.jpg
questo è il web. xml:
codice:
<?xml version="1.0" encoding="UTF-8"?><web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<error-page>
<error-code>403</error-code>
<location>/WEB-INF/jspf/error/403.jspf</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/jspf/error/404.jspf</location>
</error-page>
<error-page>
<error-code>505</error-code>
<location>/WEB-INF/jspf/error/500.jspf</location>
</error-page>
<jsp-config>
<jsp-property-group>
<url-pattern>/index.jsp</url-pattern>
<url-pattern>/WEB-INF/view/*</url-pattern>
<url-pattern>/WEB-INF/jspf/error/*</url-pattern>
<include-prelude>/WEB-INF/jspf/header.jspf</include-prelude>
<include-coda>/WEB-INF/jspf/footer.jspf</include-coda>
</jsp-property-group>
<jsp-property-group>
<description>JSP configuration for the admin console</description>
<url-pattern>/admin/index.jsp</url-pattern>
<url-pattern>/admin/login.jsp</url-pattern>
<url-pattern>/admin/error.jsp</url-pattern>
<include-prelude>/admin/jspf/header.jspf</include-prelude>
<include-coda>/admin/jspf/footer.jspf</include-coda>
</jsp-property-group>
</jsp-config>
<security-constraint>
<display-name>admin</display-name>
<web-resource-collection>
<web-resource-name>admin</web-resource-name>
<description/>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>webposta</realm-name>
<form-login-config>
<form-login-page>/admin/login.jsp</form-login-page>
<form-error-page>/admin/error.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description>Console amministrazione WebPosta</description>
<role-name>admin</role-name>
</security-role>
<resource-ref>
<res-ref-name>jdbc/webposta</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
</web-app>
e questo è il glassfish-web.xml
codice:
<?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="">
<resource-ref>
<res-ref-name>jdbc/webposta</res-ref-name>
<jndi-name>jdbc/webposta</jndi-name>
</resource-ref>
<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>admin</role-name>
<group-name>admin</group-name>
</security-role-mapping>
</glassfish-web-app>
L'errore che glassfish ritorna è il seguente:
SEVERE: jdbcrealm.invaliduserreason
WARNING: WEB9102: Web Login Failed: com.sun.enterprise.security.auth.login.common.Logi nException: Login failed: Security Exception
Spero possiate aiutarmi.
Grazieeeeeeeeeeeeeeeeeeee