[Logo] Neo Framework Forum
  [Search] Busca   [Recent Topics] Tópicos Recentes   [Members]  Lista de Usuários   [Groups] De volta para a página principal 
[Register] Registrar / 
[Login] Entrar 
Login  XML
Índice dos Fóruns -> Dúvidas Ir para a página: Anterior  1, 2, 3, 4 Próximo 
Autor Mensagem
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

no @Controller vc tem um atributo chamado authorizationModule

coloque assim

@Controller(path="...", authorizationModule=CrudAuthorizationModule.class)


Isso irá criar uma autorização para essa tela no banco de dados... na tabela de permissoes

vc pode entao alterar no banco de dados as permissoes para esse crud..

existem outro módulos de autorização e vc pode até criar o seu próprio..

será explicado na segunda parte do tutorial de autorizaçao...
vinicius.janones
Template
[Avatar]

Membro desde: 25/06/2007 12:55:10
Mensagens: 105
Localização: Uberlândia - MG
Offline

Rogel,

Obrigado, vou testar do geito que vc disse.

A[]s

Vinícius O. Janones
[Email]
vinicius.janones
Template
[Avatar]

Membro desde: 25/06/2007 12:55:10
Mensagens: 105
Localização: Uberlândia - MG
Offline

Rogel,

Desculpe a pergunta, mas poderia me explicar como ficaria uma autorização de uma tela para que eu possa entender como será a edição das tabelas relacionadas a isso?

A[ ]s

Vinícius O. Janones
[Email]
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

Segunda te mando as tabelas que usamos para fazer autorização...

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
vinicius.janones
Template
[Avatar]

Membro desde: 25/06/2007 12:55:10
Mensagens: 105
Localização: Uberlândia - MG
Offline

Bom dia,

Obrigado... Pedro!


Vinícius O. Janones
[Email]
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

Desculpe a demora, pois cheguei hoje em BH.

Code:
 CREATE TABLE papel (
     cdpapel integer NOT NULL,
     descricao character varying(80) NOT NULL
 ) WITHOUT OIDS;
 ALTER TABLE ONLY public.papel ALTER COLUMN cdpapel SET STATISTICS 0;
 ALTER TABLE ONLY public.papel ALTER COLUMN descricao SET STATISTICS 0;
 --
 -- Structure for table permissao (OID = 713431) : 
 --
 CREATE TABLE permissao (
     cdpermissao integer NOT NULL,
     stringpermissao character varying(80) NOT NULL,
     cdtela integer NOT NULL,
     cdpapel integer NOT NULL
 ) WITHOUT OIDS;
 ALTER TABLE ONLY public.permissao ALTER COLUMN cdpermissao SET STATISTICS 0;
 ALTER TABLE ONLY public.permissao ALTER COLUMN stringpermissao SET STATISTICS 0;
 ALTER TABLE ONLY public.permissao ALTER COLUMN cdtela SET STATISTICS 0;
 ALTER TABLE ONLY public.permissao ALTER COLUMN cdpapel SET STATISTICS 0;
 --
 -- Structure for table tela (OID = 713433) : 
 --
 CREATE TABLE tela (
     cdtela integer NOT NULL,
     "path" character varying(80) NOT NULL,
     descricao character varying(80) NOT NULL
 ) WITHOUT OIDS;
 ALTER TABLE ONLY public.tela ALTER COLUMN cdtela SET STATISTICS 0;
 ALTER TABLE ONLY public.tela ALTER COLUMN "path" SET STATISTICS 0;
 ALTER TABLE ONLY public.tela ALTER COLUMN descricao SET STATISTICS 0;
 
 CREATE TABLE usuario (
     cdusuario integer NOT NULL,
     nome character varying(80) NOT NULL,
     login character varying(50) NOT NULL,
     senha character varying(50) NOT NULL,
     email character varying(80) NOT NULL,
     bloqueado boolean DEFAULT false
 ) WITHOUT OIDS;
 ALTER TABLE ONLY public.usuario ALTER COLUMN nome SET STATISTICS 0;
 ALTER TABLE ONLY public.usuario ALTER COLUMN login SET STATISTICS 0;
 ALTER TABLE ONLY public.usuario ALTER COLUMN senha SET STATISTICS 0;
 ALTER TABLE ONLY public.usuario ALTER COLUMN email SET STATISTICS 0;
 --
 -- Structure for table usuariopapel (OID = 713446) : 
 --
 CREATE TABLE usuariopapel (
     cdusuariopapel integer NOT NULL,
     cdusuario integer NOT NULL,
     cdpapel integer NOT NULL
 ) WITHOUT OIDS;
 ALTER TABLE ONLY public.usuariopapel ALTER COLUMN cdusuariopapel SET STATISTICS 0;
 ALTER TABLE ONLY public.usuariopapel ALTER COLUMN cdusuario SET STATISTICS 0;
 ALTER TABLE ONLY public.usuariopapel ALTER COLUMN cdpapel SET STATISTICS 0;
 


Se estiver faltando algo me avise.

[]'s

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
vinicius.janones
Template
[Avatar]

Membro desde: 25/06/2007 12:55:10
Mensagens: 105
Localização: Uberlândia - MG
Offline

Tranguilo Pedro,

Obrigado, vou testar aqui e te falo...

A[]s

Vinícius O. Janones
[Email]
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

ok

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
vinicius.janones
Template
[Avatar]

Membro desde: 25/06/2007 12:55:10
Mensagens: 105
Localização: Uberlândia - MG
Offline

Pedro,

No exemplo que o Rogel passou não tem essa tabela "TELA"...

Vinícius O. Janones
[Email]
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

pode fazer sem ela se quisr..

tem problema nao

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
vinicius.janones
Template
[Avatar]

Membro desde: 25/06/2007 12:55:10
Mensagens: 105
Localização: Uberlândia - MG
Offline

Bom dia,

Pedro,

Fiz como no exemplo do Rogel:
- Na tabela PERMISSAO fiz um insert com os dados(id=1, role_id=1, permissionString=ADM, path=/secured/crud/bairro);
- Na tabela PAPEL fiz um insert com os dados(id=1, description=ADM, name=Administrador);
- Na tabela USUARIO ficou assim(id=2, login=vinicius);
- E na tabela USUARIOPAPEL assim(id=1, usuario_id=1, papel_id=1).

Quando fiz o login apareceu o seguinte erro:
Code:
 10:52:20,730 INFO  [STDOUT] Hibernate: select permissao0_.id as id4_, permissao0_.path as path4_, permissao0_.role_id as role4_4_, permissao0_.permissionString as permissi3_4_ from sistemas.permissao permissao0_ where permissao0_.role_id=? and permissao0_.path=?
 10:52:20,734 ERROR [STDERR] java.lang.RuntimeException: Erro ao gerar menu /WEB-INF/menu.xml
 10:52:20,735 ERROR [STDERR] 	at br.com.linkcom.neo.view.menu.MenuTag.doComponent(MenuTag.java:102)
 10:52:20,735 ERROR [STDERR] 	at br.com.linkcom.neo.view.BaseTag.doTag(BaseTag.java:568)
 10:52:20,735 ERROR [STDERR] 	at org.apache.jsp.WEB_002dINF.jsp.secured.base_jsp._jspx_meth_n_menu_0(base_jsp.java:330)
 10:52:20,735 ERROR [STDERR] 	at org.apache.jsp.WEB_002dINF.jsp.secured.base_jsp._jspx_meth_c_if_1(base_jsp.java:304)
 10:52:20,735 ERROR [STDERR] 	at org.apache.jsp.WEB_002dINF.jsp.secured.base_jsp._jspService(base_jsp.java:130)
 10:52:20,735 ERROR [STDERR] 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
 10:52:20,735 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
 10:52:20,735 ERROR [STDERR] 	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
 10:52:20,735 ERROR [STDERR] 	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
 10:52:20,735 ERROR [STDERR] 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
 10:52:20,736 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
 10:52:20,736 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
 10:52:20,736 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 10:52:20,736 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
 10:52:20,736 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
 10:52:20,736 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
 10:52:20,736 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
 10:52:20,736 ERROR [STDERR] 	at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:97)
 10:52:20,736 ERROR [STDERR] 	at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
 10:52:20,736 ERROR [STDERR] 	at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:961)
 10:52:20,736 ERROR [STDERR] 	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:738)
 10:52:20,736 ERROR [STDERR] 	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658)
 10:52:20,736 ERROR [STDERR] 	at br.com.linkcom.neo.controller.DispatcherServlet.doService(DispatcherServlet.java:59)
 10:52:20,737 ERROR [STDERR] 	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
 10:52:20,749 ERROR [STDERR] 	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:347)
 10:52:20,749 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
 10:52:20,749 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
 10:52:20,749 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
 10:52:20,749 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 10:52:20,749 ERROR [STDERR] 	at br.com.linkcom.neo.authorization.AuthorizationFilter.doFilter(AuthorizationFilter.java:77)
 10:52:20,749 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 10:52:20,749 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 10:52:20,749 ERROR [STDERR] 	at br.eti.janones.santarem.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:23)
 10:52:20,749 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 10:52:20,749 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 10:52:20,750 ERROR [STDERR] 	at br.com.linkcom.neo.core.web.NeoFilter.doFilter(NeoFilter.java:95)
 10:52:20,750 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 10:52:20,750 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 10:52:20,750 ERROR [STDERR] 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
 10:52:20,750 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 10:52:20,750 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 10:52:20,750 ERROR [STDERR] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 10:52:20,750 ERROR [STDERR] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
 10:52:20,750 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
 10:52:20,750 ERROR [STDERR] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
 10:52:20,750 ERROR [STDERR] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
 10:52:20,750 ERROR [STDERR] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
 10:52:20,750 ERROR [STDERR] 	at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
 10:52:20,751 ERROR [STDERR] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
 10:52:20,751 ERROR [STDERR] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 10:52:20,751 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
 10:52:20,751 ERROR [STDERR] 	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
 10:52:20,751 ERROR [STDERR] 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
 10:52:20,751 ERROR [STDERR] 	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
 10:52:20,751 ERROR [STDERR] 	at java.lang.Thread.run(Thread.java:595)
 10:52:20,752 ERROR [STDERR] Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
 10:52:20,752 ERROR [STDERR] 	at br.com.linkcom.neo.authorization.impl.AbstractPermission.getPermissionmap(AbstractPermission.java:49)
 10:52:20,752 ERROR [STDERR] 	at br.com.linkcom.neo.authorization.impl.AbstractPermission.getPermissionvalue(AbstractPermission.java:72)
 10:52:20,752 ERROR [STDERR] 	at br.com.linkcom.neo.authorization.crud.CrudAuthorizationModule.createAuthorization(CrudAuthorizationModule.java:65)
 10:52:20,752 ERROR [STDERR] 	at br.com.linkcom.neo.authorization.crud.CrudAuthorizationModule.createAuthorization(CrudAuthorizationModule.java:1)
 10:52:20,752 ERROR [STDERR] 	at br.com.linkcom.neo.authorization.impl.AuthorizationManagerImpl.createAuthorization(AuthorizationManagerImpl.java:149)
 10:52:20,752 ERROR [STDERR] 	at br.com.linkcom.neo.authorization.impl.AuthorizationManagerImpl.isAuthorized(AuthorizationManagerImpl.java:90)
 10:52:20,752 ERROR [STDERR] 	at br.com.linkcom.neo.authorization.impl.AuthorizationManagerImpl.isAuthorized(AuthorizationManagerImpl.java:120)
 10:52:20,753 ERROR [STDERR] 	at br.com.linkcom.neo.view.menu.MenuTag.verificarAutorizacao(MenuTag.java:159)
 10:52:20,753 ERROR [STDERR] 	at br.com.linkcom.neo.view.menu.MenuTag.verificarAutorizacao(MenuTag.java:164)
 10:52:20,753 ERROR [STDERR] 	at br.com.linkcom.neo.view.menu.MenuTag.doComponent(MenuTag.java:88)
 10:52:20,753 ERROR [STDERR] 	... 54 more
 10:52:21,111 INFO  [STDOUT] Tempo: /santarem/secured/crud/usuario = 0.6s
 


O que pode ser isso? Ele monta o menu dinamicamente?

Vinícius O. Janones
[Email]
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

me manda a ddl do suas tabelas de autorização, o authorization dao.

O menu é gerenciado dinamicamente.. ele verifica se você tem permissão de acessar o path do menu..,. ae caso senha ele mostra.

Até!

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
vinicius.janones
Template
[Avatar]

Membro desde: 25/06/2007 12:55:10
Mensagens: 105
Localização: Uberlândia - MG
Offline

Code:
 CREATE TABLE  `teste`.`papel` (
   `id` int(10) unsigned NOT NULL auto_increment,
   `description` varchar(45) default NULL,
   `name` varchar(45) default NULL,
   PRIMARY KEY  (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
 INSERT INTO `teste`.`papel` VALUES  (1,'ADM','Administrador');
 
 CREATE TABLE  `teste`.`permissao` (
   `id` int(10) unsigned NOT NULL auto_increment,
   `role_id` int(10) unsigned NOT NULL,
   `permissionString` varchar(45) default NULL,
   `path` varchar(45) default NULL,
   PRIMARY KEY  (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
 INSERT INTO `teste`.`permissao` VALUES  (1,1,'ADM','/secured/crud/bairro');
 
 CREATE TABLE  `teste`.`usuario` (
   `id` int(10) unsigned NOT NULL auto_increment,
   `login` varchar(45) NOT NULL,
   `password` varchar(45) NOT NULL,
   PRIMARY KEY  (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
 INSERT INTO `teste`.`usuario` VALUES  (1,'teste','123');
 
 CREATE TABLE  `teste`.`usuariopapel` (
   `id` int(10) unsigned NOT NULL auto_increment,
   `usuario_id` int(10) unsigned NOT NULL,
   `papel_id` int(10) unsigned NOT NULL,
   PRIMARY KEY  (`id`),
   KEY `usuario_id` (`usuario_id`),
   KEY `papel_id` (`papel_id`),
   CONSTRAINT `papel_id` FOREIGN KEY (`papel_id`) REFERENCES `papel` (`id`),
   CONSTRAINT `usuario_id` FOREIGN KEY (`usuario_id`) REFERENCES `usuario` (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
 INSERT INTO `teste`.`usuariopapel` VALUES  (1,2,1);
 

Vinícius O. Janones
[Email]
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

cara.. o ideal era que tivesse uma tabela de tela..

ve se tu consegue montar a autorização da maneira que lhe mandei o banco .. caso não consiga lhe mando uma app para ver te ajudar..

teh

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
vinicius.janones
Template
[Avatar]

Membro desde: 25/06/2007 12:55:10
Mensagens: 105
Localização: Uberlândia - MG
Offline

Pedro,

Me diz uma coisa, como é a estrutura do arquivo menu.xml para se usar a autorização? Tem alguma coisa de diferente?

Vinícius O. Janones
[Email]
 
Índice dos Fóruns -> Dúvidas Ir para a página: Anterior  1, 2, 3, 4 Próximo 
Ir para:   
Powered by JForum 2.1.7 © JForum Team