Autenticação e autorização com JAAS

1 resposta
fer.ferreira6

Bom Dia Galera,

Estou tentando implementar JAAS num app teste e to com alguns problemas, ele não gera erro, mas também não permite acesso ao diretório, poderiam dar uma olhada no meu código:

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>AppTeste</display-name>
  <welcome-file-list>
    <welcome-file>index.jsf</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  
  
  <login-config>
<auth-method>FORM</auth-method>
<realm-name>AppTeste</realm-name>
<form-login-config>
<form-login-page>/login.jsf</form-login-page>
<form-error-page>/login.jsf</form-error-page>
</form-login-config>
</login-config>
    
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>paginas admnistrativas</web-resource-name>
            <url-pattern>/admin/*</url-pattern>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
        </web-resource-collection>

        <auth-constraint>
            <role-name>admin-role</role-name>
        </auth-constraint>
    </security-constraint>


</web-app>

sun-web.xml

<?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>
  <context-root>/AppTeste</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>admin-role</role-name>
        <group-name>admin</group-name>
    </security-role-mapping>
  
  
</sun-web-app>

Meu banco de dados é simples:

tabela role

| Field | Type | Null | Key | Default | Extra |
±-----------±-------------±-----±----±--------±------+
| id | varchar(100) | NO | PRI | NULL | |
| usuario_id | int(11) | NO | | NULL | |
±-----------±-------------±-----±----±--------±------+

tabela usuario

±------±-------------±-----±----±--------±---------------+
| Field | Type | Null | Key | Default | Extra |
±------±-------------±-----±----±--------±---------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| nome | varchar(100) | NO | | NULL | |
| email | varchar(100) | NO | | NULL | |
| senha | varchar(15) | YES | | NULL | |
±------±-------------±-----±----±--------±---------------+

A estrutura é simples, tenho um diretorio admin, sempre que tentar acessar esse diretorio, joga pro login.
A parte de jogar pro login funciona, porém, ele não valida o usuário

Uso JASS com GlassFish V3

Muito obrigado pela atenção =D

1 Resposta

fer.ferreira6

Galera,

Um print das configurações no glassfish V3:

Criado 13 de setembro de 2012
Ultima resposta 13 de set. de 2012
Respostas 1
Participantes 1