Olá a todos... vou começar pelas informações.
Acompanhando o raciocinio do modulo B no que diz respeito a autenticação, estou usando Realm do TomCat . Primeiro, cria-se as tabelas de usuarios e perfis de usuarios.
create table usuario{
id_usuario integer,
login varchar,
senha varchar
};
create table perfil{
login varchar,
perfil varchar
}
Lembrando que a integridade entre Usuario e Perfil fica no campo login.
Então no arquivo server.xml, fiz o seguinte:
<Realm className="org.apache.catalina.realm.JDBCRealm"
debug="99" driverName="driver.banco.Driver"
connectionURL="jdbc:banco://endereco:numporta/nomebanco"
connectionName="usuariobanco"
connectionPassword="senhabanco"
userRoleTable="tabela_perfil" roleNameCol="nome_perfil"
userTable="usuariosSistema" userNameCol="login" userCredCol="senha"/>
Até aí tudo bem. Agora vem as minhas duvidas:
1 - Gostaria de criar outros perfis além dos existentes(admin, AreaTecnica,Membros etc), como proceder? Se houver algum pdf do livro informando isso é só me dizer, não precisa responder aqui.
2 - Inicialmente havia criado o cadastro de usuários como Tabular. Foi aí que senti a necessidade de se criar o campo Perfil(por causa da mudança de estratégia de autenticação). Tem como refatorar sem deletar tudo e começar do zero? Sei que agora existe a necessidade de transformar em Agregação Simples, só queria aproveitar o que já fiz.
Obrigado
Wagner Abreu
Autor: Wagner Petronio de Sousa Abreu
1212 comentários
public NovoManager (NovoDAO novoDAO) {
this.novoDAO = novoDAO;
} ... } Abraços!
Primeiro a aplicação ficou reclamando da falta da existencia de uma campo detalhePlc_Det1, em PerfilUsuarioEntity. Criei manualmente um atributo com esse nome do tipo Object(não sei se isso atende). Beleza, até a hora em que eu apertei no F9. A listagem veio, mas por baixo, apareceu o seguinte no log do tomcat: ERROR [PlcEntityInstance] jCompany. Erro fatal ao tentar montar link de edicao do VO wagner para propriedade usuario. Erro original: java.lang.NullPointerException 15:53:17,255 [http-8080-5]
java.lang.NullPointerException
at com.powerlogic.jcompany.config.metamodel.PlcEntityInstance.getLinkEdicaoPlc(PlcEntityInstance.java:593)
at com.powerlogic.jcompany.controle.util.rest.PlcRestRendererUtil.montaObjetoJSON(PlcRestRendererUtil.java:198)
at com.powerlogic.jcompany.controle.util.rest.PlcRestRendererUtil.montaColecaoJSON(PlcRestRendererUtil.java:102)
at com.powerlogic.jcompany.controle.jsf.rest.PlcSelecaoRest.montaRetorno(PlcSelecaoRest.java:283)
at com.powerlogic.jcompany.controle.jsf.rest.PlcSelecaoRest.recuperaSelecao(PlcSelecaoRest.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:119)
at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:211)
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:176)
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:166)
at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:359)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:336)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:103)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:114)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:421)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
#isiat# ERROR [PlcEntityInstance] jCompany. Erro fatal ao tentar montar link de edicao do VO wagner para propriedade perfil. Erro original: java.lang.NullPointerException 15:53:17,260 [http-8080-5]
java.lang.NullPointerException
at com.powerlogic.jcompany.config.metamodel.PlcEntityInstance.getLinkEdicaoPlc(PlcEntityInstance.java:593)
at com.powerlogic.jcompany.controle.util.rest.PlcRestRendererUtil.montaObjetoJSON(PlcRestRendererUtil.java:198)
at com.powerlogic.jcompany.controle.util.rest.PlcRestRendererUtil.montaColecaoJSON(PlcRestRendererUtil.java:102) E quando seleciono um perfil de usuário já cadastrado, a tela de edição vem com os campos em branco. Quando eu cliiquei no botão do campo vinculado, a popup abriu, porém sem mostrar nada. Esse é só o primeiro problema. Poderia passar o segundo problema, mas vou esperar alguma resposta para esses primeiros(se for possível claro). Obrigado