Ir para o conteúdo

 Voltar a MDArte Desen...
Tela cheia

Problemas em se "manter logado"

19 de Janeiro de 2012, 17:19 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 29 vezes

Olá equipe MDA,

estou começando a usar o MDA e obtive um problema. Na minha aplicação (SuportePais do tutorial), quando inicio o JBOSS, eu exergo inicialmente a tela de login e o faço corretamente, o que me redireciona para uma tela de consulta de países. Logo após isso, eu coloco os dados no formulário e tento buscar no banco de dados os paises que tem aquelas informações, porém a aplicação retorna que meu usuário não esta logado no sistema e o erro no console afirma que ele recebeu um subject null.

Esse erro não acontecia antes de se implementar o método consultaPais, da classe ConsultaPaisControleImpl:

public final void consultaPais(ActionMapping mapping, br.gov.web.cadastroPais.consultaPais.ConsultaPaisForm form, HttpServletRequest request, HttpServletResponse response) throws Exception
    {
        Integer paginacao =(((Integer)request.getAttribute(Constantes.PARAMETRO_GRUPO)));
                PaisVO paisVO = new PaisVO();
                paisVO.setCodigo(form.getCodigo());
                paisVO.setCodigoAuxiliar(form.getCodigoAuxiliar());
                paisVO.setDescricao(form.getDescricao());
                paisVO.setValor(form.getValor());
                Collection paises = getPaisHandler(request).manipulaPais(new PaisImpl(), new FilterAction( (DataObject) paisVO, paginacao));   // ERRO ACONTECE NESTA LINHA
                form.setPaises(paises);
    }



Estou usando a versao do cartucho : cartridge.version=3.1.1.3.4.14

Erro do console

17:07:18,875 ERROR [STDERR] java.lang.Exception: java.security.PrivilegedActionException: accessControl.exception.SubjectNaoIdentificadoException: subject.null
17:07:18,875 ERROR [STDERR]     at br.gov.tutorial.cs.servicoPais.pbi.PaisHandlerPBI.manipulaPais(PaisHandlerPBI.java:112)
17:07:18,875 ERROR [STDERR]     at br.gov.web.cadastroPais.consultaPais.ConsultaPaisControleImpl.consultaPais(ConsultaPaisControleImpl.java:38)
17:07:18,875 ERROR [STDERR]     at br.gov.web.cadastroPais.consultaPais.PreenchaOsDadosDaConsultaDePaisConsulta._consultaPais(PreenchaOsDadosDaConsultaDePaisConsulta.java:156)
17:07:18,875 ERROR [STDERR]     at br.gov.web.cadastroPais.consultaPais.PreenchaOsDadosDaConsultaDePaisConsulta.particularExecute(PreenchaOsDadosDaConsultaDePaisConsulta.java:99)
17:07:18,875 ERROR [STDERR]     at accessControl.Login._verificarPermissao(Login.java:279)
17:07:18,875 ERROR [STDERR]     at accessControl.Login.__sessaoValida(Login.java:206)
17:07:18,875 ERROR [STDERR]     at accessControl.Login._validarSessao(Login.java:106)
17:07:18,875 ERROR [STDERR]     at accessControl.Login.execute(Login.java:35)
17:07:18,875 ERROR [STDERR]     at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
17:07:18,875 ERROR [STDERR]     at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
17:07:18,875 ERROR [STDERR]     at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
17:07:18,875 ERROR [STDERR]     at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
17:07:18,875 ERROR [STDERR]     at org.andromda.presentation.bpm4struts.ActionServlet.doPost(ActionServlet.java:97)
17:07:18,875 ERROR [STDERR]     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
17:07:18,875 ERROR [STDERR]     at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
17:07:18,875 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
17:07:18,875 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
17:07:18,875 ERROR [STDERR]     at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
17:07:18,875 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
17:07:18,875 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
17:07:18,875 ERROR [STDERR]     at org.andromda.presentation.bpm4struts.ActionServletFilter.doFilter(ActionServletFilter.java:18)
17:07:18,875 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
17:07:18,875 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
17:07:18,875 ERROR [STDERR]     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
17:07:18,875 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
17:07:18,875 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
17:07:18,875 ERROR [STDERR]     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
17:07:18,875 ERROR [STDERR]     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
17:07:18,875 ERROR [STDERR]     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
17:07:18,875 ERROR [STDERR]     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
17:07:18,875 ERROR [STDERR]     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
17:07:18,875 ERROR [STDERR]     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
17:07:18,875 ERROR [STDERR]     at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
17:07:18,875 ERROR [STDERR]     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
17:07:18,875 ERROR [STDERR]     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
17:07:18,875 ERROR [STDERR]     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
17:07:18,875 ERROR [STDERR]     at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
17:07:18,875 ERROR [STDERR]     at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
17:07:18,875 ERROR [STDERR]     at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
17:07:18,875 ERROR [STDERR]     at java.lang.Thread.run(Unknown Source)
17:07:18,875 ERROR [STDERR] Caused by: java.security.PrivilegedActionException: accessControl.exception.SubjectNaoIdentificadoException: subject.null
17:07:18,875 ERROR [STDERR]     at java.security.AccessController.doPrivileged(Native Method)
17:07:18,875 ERROR [STDERR]     at javax.security.auth.Subject.doAsPrivileged(Unknown Source)
17:07:18,875 ERROR [STDERR]     at br.gov.tutorial.cs.servicoPais.pbi.PaisHandlerPBI.manipulaPais(PaisHandlerPBI.java:90)
17:07:18,875 ERROR [STDERR]     ... 39 more
17:07:18,875 ERROR [STDERR] Caused by: accessControl.exception.SubjectNaoIdentificadoException: subject.null
17:07:18,875 ERROR [STDERR]     at accessControl.SecurityProxyImpl.invoke(SecurityProxyImpl.java:77)
17:07:18,875 ERROR [STDERR]     at org.jboss.ejb.plugins.SecurityProxyInterceptor.invoke(SecurityProxyInterceptor.java:180)
17:07:18,875 ERROR [STDERR]     at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
17:07:18,875 ERROR [STDERR]     at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
17:07:18,875 ERROR [STDERR]     at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
17:07:18,875 ERROR [STDERR]     at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
17:07:18,875 ERROR [STDERR]     at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
17:07:18,875 ERROR [STDERR]     at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
17:07:18,875 ERROR [STDERR]     at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
17:07:18,875 ERROR [STDERR]     at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
17:07:18,875 ERROR [STDERR]     at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:136)
17:07:18,875 ERROR [STDERR]     at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
17:07:18,875 ERROR [STDERR]     at org.jboss.ejb.Container.invoke(Container.java:954)
17:07:18,875 ERROR [STDERR]     at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430)
17:07:18,875 ERROR [STDERR]     at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:103)
17:07:18,875 ERROR [STDERR]     at $Proxy66.filterPais(Unknown Source)
17:07:18,875 ERROR [STDERR]     at br.gov.tutorial.cs.servicoPais.pbi.PaisHandlerPBI$1.run(PaisHandlerPBI.java:94)
17:07:18,875 ERROR [STDERR]     ... 42 more
17:07:18,890 WARN  [ValidatorResources] Form 'null' not found for locale 'pt_BR'


 

StackTrace

java.lang.Exception: java.security.PrivilegedActionException: accessControl.exception.SubjectNaoIdentificadoException: subject.null at br.gov.tutorial.cs.servicoPais.pbi.PaisHandlerPBI.manipulaPais(PaisHandlerPBI.java:112) at br.gov.web.cadastroPais.consultaPais.ConsultaPaisControleImpl.consultaPais(ConsultaPaisControleImpl.java:38) at br.gov.web.cadastroPais.consultaPais.PreenchaOsDadosDaConsultaDePaisConsulta._consultaPais(PreenchaOsDadosDaConsultaDePaisConsulta.java:156) at br.gov.web.cadastroPais.consultaPais.PreenchaOsDadosDaConsultaDePaisConsulta.particularExecute(PreenchaOsDadosDaConsultaDePaisConsulta.java:99) at accessControl.Login._verificarPermissao(Login.java:279) at accessControl.Login.__sessaoValida(Login.java:206) at accessControl.Login._validarSessao(Login.java:106) at accessControl.Login.execute(Login.java:35) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at org.andromda.presentation.bpm4struts.ActionServlet.doPost(ActionServlet.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.andromda.presentation.bpm4struts.ActionServletFilter.doFilter(ActionServletFilter.java:18) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Unknown Source) Caused by: java.security.PrivilegedActionException: accessControl.exception.SubjectNaoIdentificadoException: subject.null at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Unknown Source) at br.gov.tutorial.cs.servicoPais.pbi.PaisHandlerPBI.manipulaPais(PaisHandlerPBI.java:90) ... 39 more Caused by: accessControl.exception.SubjectNaoIdentificadoException: subject.null at accessControl.SecurityProxyImpl.invoke(SecurityProxyImpl.java:77) at org.jboss.ejb.plugins.SecurityProxyInterceptor.invoke(SecurityProxyInterceptor.java:180) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169) at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:136) at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648) at org.jboss.ejb.Container.invoke(Container.java:954) at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430) at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:103) at $Proxy66.filterPais(Unknown Source) at br.gov.tutorial.cs.servicoPais.pbi.PaisHandlerPBI$1.run(PaisHandlerPBI.java:94) ... 42 more

Alguem sabe o que devo fazer?

Abraços

Autor: Rodrigo Ney


66 comentários

  • Bb0d54eb9311d61feb3e8ba4b597ea71?only path=false&size=50&d=404Roque Pinel(usuário não autenticado)
    24 de Janeiro de 2012, 12:36

     

    Olá Rodrigo,

    Primeiramente, devemos verificar qual versão da dependência "security" seu projeto está utilizando. Basta abrir o arquivo "build.properties" e procurar pela entrada "security.version". Se não me engano, a versão 3.1.1.3.4.14 funciona bem com o "security-1.1.jar".

    Realizei alguns testes com a código que você utilizou e ele funcionou corretamente na última versão do MDArte, a 3.1.1.3.4.16-RC4. Ela utiliza o "security-1.1.2.jar" e o "CommonClasses-1.2.jar".

    Só lembre de adicionar os serviços a tabela SV_CA. Procure pelo arquivo "Sevicos.sql".

    • 5fbd02f249b6c95f8802075a79e03979?only path=false&size=50&d=404Debora Andrade de Lima(usuário não autenticado)
      2 de Fevereiro de 2012, 16:55

       

      Olá Roque,

       

      Com a 16-RC4 conseguimos fazer funcionar aqui. Como as maquinas aqui já foram utilizadas por várias outras pessoas, acreditamos que alguma lib estava com a versao errada, mas não conseguimos descobrir qual. Felizmente, com uma versão limpa tudo funcionou. Obrigada

      • Bb0d54eb9311d61feb3e8ba4b597ea71?only path=false&size=50&d=404Roque Pinel(usuário não autenticado)
        2 de Fevereiro de 2012, 17:00

         

        Olá Debora, que bom que foi resolvido.

        Uma dúvida, vocês pegaram a versão 16-RC4 diretamente no SVN da comunidade ou pelo respositório http://146.164.34.92/repositorio?

        A do SVN está boa, mas a do repositório estava com um probleminha de encode e só resolvi hoje.

        • 5fbd02f249b6c95f8802075a79e03979?only path=false&size=50&d=404Debora Andrade de Lima(usuário não autenticado)
          2 de Fevereiro de 2012, 17:29

           

          Uhm.. Boa pergunta. O problema é que as duas pessoas que se encarregaram dessa parte não estão disponíveis no momento. Irei especular com base no que me disseram depois.

          A primeira versão usada foi baixado o source e compilado o cartucho aqui, acredito que o repositorio da 146 nao tenha o source, logo deve ter sido do SVN da comunidade, correto?

          Da segunda vez (a que funcionou), acredito que tenha sido baixado já compilado da comunidade.

          • Bb0d54eb9311d61feb3e8ba4b597ea71?only path=false&size=50&d=404Roque Pinel(usuário não autenticado)
            2 de Fevereiro de 2012, 17:41

             

            Sim, o repositório da 146 não possui o source.

            Para não ficar na dúvida, veja sua equipe se não é melhor apagar a cópia local (em $HOME/.maven/repository/andromda/jars) e editar o arquivo $HOME/build.properties para usar o repositório Maven do MDArte.

            Assim, bastaria editar o build.properties do projeto para usar a versão 3.1.1.3.4.16-RC4 ("cartridge.version=3.1.1.3.4.16-RC4") e executar os comandos Maven normalmente.

             

            • 5fbd02f249b6c95f8802075a79e03979?only path=false&size=50&d=404Debora Andrade de Lima(usuário não autenticado)
              2 de Fevereiro de 2012, 18:41

               

              Nós estamos atrás de proxy, nem sempre conseguimos acessar o repositório daqui, por isso replicamos um localmente. Além disso, algumas customizações haviam sido feitas no cartucho, por isso a nova versão foi compilada aqui.

               

              Um fato não necessáriamente relacionado, em uma de nossas maquinas, recebemos essa msg sempre que o comando maven era executado: 

              WARNING: Plugin 'maven-andromdapp-plugin-coppetec' is already loaded from maven-andromdapp-plugin-coppetec-3.1.1.3.4.16-RC4; attempting to load maven-andromdapp-plugin-coppetec-3.1.1.3.4.12

              Essa msg acontecia mesmo com o projeto configurado para usar a versão 16-RC4. Substituimos as pastas .maven e maven-1.0.2 e ela desapareceu. Não sei dizer se ela gerava algum erro, mas não consegui descobrir nenhuma forma de sumir com ela exceto substituir pela cópia "segura"

Checklist para o projeto de interfaces

14 de Dezembro de 2011, 16:00, por Desconhecido

Este é um roteiro básico para verificação dos elementos interface para desenharmos um projeto. Vale lembrar que os projetos do MDArte são basicamente em CRUD (Create, Retrieve, Update e Delete) e não sistemas CMS com outras divisões e exibições. Cada um pode ter a sua lista e seria legal enviar comentários com adendos para ficar cada vez mais completa e padronizada.



Monthly archive for agosto 2010 CSS, Plugins, jQuery Flexigrid – Tabelas inteligentes com CSS e jQuery

14 de Dezembro de 2011, 15:46, por Desconhecido

Essa semana aqui no projeto, estávamos procurando uma solução para algumas tabelas que extrapolavam o tamanho da



Auto-Grid 960

14 de Dezembro de 2011, 15:41, por Desconhecido

Essa dica vai pra quem não tem muita paciência de configurar um js de grid 960 direto no seu código para ver o alinhamento de seus elementos.



Título na tabela do displayTag

14 de Dezembro de 2011, 15:39, por Desconhecido

O MDArte utiliza o displayTag e é possível customiza-lo de diversas maneiras. Uma coisa legal é colocar um título que só será exibido quando a consulta for executada.



CSS3:Textos com sombras

14 de Dezembro de 2011, 15:12, por Desconhecido

Se voce aplicar a propriedade “box-shadow” em um texto, a mesma vai ser aplicada em sua caixa (box). Para isso foi criada a propriedade “text-shadow”.
Seu uso é o seguinte: