0 Replies Latest reply on Feb 26, 2012 3:35 PM by japochino1

    ¿Cómo implementar el control de usuario en mi aplicación?

    japochino1

      Hola a todos

       

      Estoy haciendo una aplicacion java ee 6 y quiero hacer uso de jaas para la seguridad de los usuarios (login, permisos, etc.)

       

      La idea es que tengo una base de datos con la títpica tabla usuarios. Uno de los campos de la tabla es idtipo, clave foránea que me indica si el usuario es gestor u ojeador (coincidiendo con los roles que luego defino)

       

      Creo que casi lo tengo pero me falta un último empujón.

       

      Tengo un formulario de login para logar a los usuarios cuando acceden a un recurso que requiera algún rol específico.

       

      en mi web.xml:

       

          <security-constraint>
              <web-resource-collection>
                  <web-resource-name>Areas protegidas</web-resource-name>
                  <url-pattern>/pagina.jsf</url-pattern>
                         </web-resource-collection>
              <auth-constraint>
                  <role-name>gestor</role-name>
              </auth-constraint>
          </security-constraint>


          <security-role>
              <description>rol gestor que tendrá acceso total</description>
              <role-name>gestor</role-name>
          </security-role>
          <security-role>
              <description>rol  que permite acceso únicamente consultivo</description>
              <role-name>ojeador</role-name>
          </security-role>

       

          <login-config>
              <auth-method>FORM</auth-method>      
              <form-login-config>
                  <form-login-page>/index.jsf</form-login-page>
                  <form-error-page>/errorLogin.xhtml</form-error-page>
              </form-login-config>
          </login-config>

       

      Cuando solicito la pagina protegida me redirige correctamente al login (index.jsf), pero claro cuando hago el login, supongo que tendré que reflejar de alguna manera que el usuario que se loga corresponde al role gestor u ojeador. Eso es lo que no se hacer. De esta manera cuando una vez correctamente logado, pido la pagina protegido pues me manda al login otra vez.

       

      Muchas gracias