SlideShare uma empresa Scribd logo
Além da Autenticação:
                                           Permissões de Acesso
                                            com Zend Framework




CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2010-08-05   –   1 / 25
Créditos

Sobre o Autor:

    Er Galvão Abbott trabalha há mais de 15 anos
desenvolvendo sistemas e aplicações com interface web.
Palestra em eventos, dá cursos em diversas instituições e
é o Diretor da PHP Conference Brasil, o principal evento de
PHP da América Latina.

    Especializou-se em segurança de aplicações web,
abordando o tema em uma época quando isso ainda era raro
no Brasil.

Site: http://www.galvao.eti.br/
Twitter: @galvao
Slides e Documentos: http://slideshare.net/ergalvao

Imagens:
Zend Framework Logo – http://framework.zend.com/
Oxygen Iconset – http://www.oxygen-icons.org/
Minhas terríveis habilidades de Design

    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2010-11-23   –   2 / 25
Objetivo


    Esta apresentação tem por objetivo apresentar a criação de Listas de Controle de
Acesso (ACLs) de forma a incrementar a segurança de websites e aplicações com interface
web. Serão apresentados conceitos e exemplos prátcos de código, utlizando o Zend
Framework como plataforma para a criação e implementação destas permissões de acesso.

 Serão apresentados os seguintes tópicos:


  ●   O que são permissões de acesso
  ●   Vantagens e Desvantagens
  ●   Zend Framework / Zend_ACL – Por que usar?
  ●   Resources, Roles e Privileges
  ●   Automatizando o controle de acesso
  ●   Atrelando Zend_ACL com Controllers e Actions




      CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   3 / 25
O que são permissões de acesso

                      São, basicamente, regras de acesso que definem se um usuário, após a
                    autenticação, tem ou não permissão para realizar ações específicas em partes
                    específicas de um website ou aplicação web.


 Vantagens

  ●   Incremento na segurança
  ●   Definição a nível de Role e não de nome de usuário específico
  ●   Alto nível de generalização
  ●   Fácil implementação de novos Resources, Roles e Privileges
  ●   Implementação de novas features restritas a beta testers


 Desvantagens

  ●   Alto nível de complexidade de desenvolvimento
  ●   Médio/Alto nível de planejamento




      CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   4 / 25
Zend Framework / Zend_Acl – Por que usar?

                     Como todo o Framework, uma das grandes vantagens do Zend é
                  justamente facilitar tarefas complexas de desenvolvimento, entre elas a
                  implementação de ACLs:




    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   5 / 25
Zend Framework / Zend_Acl – Por que usar?


                        Principais vantagens do uso do componente Zend_Acl



  ● Alto nível de generalização: Resources, por exemplo, podem ser Controllers
  (“default”), Models, etc...
  ● Herança entre Roles

  ● Permite desde a implementação de uma ACL simples a uma mais avançada,


  através de Assertions
  ● Facilmente extensível: novos resources, roles e privileges podem ser


  implementados pela edição de código ou mesmo dinamicamente.




                        Principais desvantagens do uso do componente Zend_Acl



  ●   Curva inicial de aprendizado média, devido a problemas de documentação



      CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   6 / 25
Resources, Roles e Privileges




                           Resources (Recursos) são objetos cujo acesso é controlado.




 Roles (Papéis) são objetos que podem tentar acessar um resource.




                        Privileges (Privilégios) são regras especiais de acesso a um resource.




    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   7 / 25
Usuários tem Roles




                                                                             Guest (usuários não autenticados)




                                                                                User (usuários autenticados)




                                                                             Admin (Administradores autenticados)

    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   8 / 25
Roles acessam Resources, opcionalmente com Privileges




                                                                                                Home
  Guest



                                                                                                Produtos (index)



   User
                                                                                                       Produtos /
                                                                                                       Visualizar




                                                                                                       Produtos /
  Admin                                                                                                Editar



    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   9 / 25
Roles acessam Resources, opcionalmente com Privileges




                                                                                                Home
  Guest



                                                                                                Produtos (index)



   User
                                                                                                        Produtos /
                                                                                                        Visualizar




                                                                                                        Produtos /
  Admin                                                                                                 Editar



    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   10 / 25
Roles acessam Resources, opcionalmente com Privileges




                                                                                                Home
  Guest



                                                                                                Produtos (index)



   User
                                                                                                        Produtos /
                                                                                                        Visualizar




                                                                                                        Produtos /
  Admin                                                                                                 Editar



    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   11 / 25
Roles acessam Resources, opcionalmente com Privileges




                                                                                                Home
  Guest



                                                                                                Produtos (index)



   User
                                                                                                        Produtos /
                                                                                                        Visualizar




                                                                                                        Produtos /
  Admin                                                                                                 Editar



    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   12 / 25
Roles acessam Resources, opcionalmente com Privileges




                                                                                                Home
  Guest



                                                                                                Produtos (index)



   User
                                                                                                        Produtos /
                                                                                                        Visualizar




                                                                                                        Produtos /
  Admin                                                                                                 Editar



    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   13 / 25
Roles acessam Resources, opcionalmente com Privileges




                                                                                                Home
  Guest



                                                                                                Produtos (index)



   User
                                                                                                        Produtos /
                                                                                                        Visualizar




                                                                                                        Produtos /
  Admin                                                                                                 Editar



    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   14 / 25
Roles acessam Resources, opcionalmente com Privileges




                                                                                                Home
  Guest



                                                                                                Produtos (index)



   User
                                                                                                        Produtos /
                                                                                                        Visualizar




                                                                                                        Produtos /
  Admin                                                                                                 Editar



    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   15 / 25
Roles acessam Resources, opcionalmente com Privileges




                                                                                                Home
  Guest



                                                                                                Produtos (index)



   User
                                                                                                        Produtos /
                                                                                                        Visualizar




                                                                                                        Produtos /
  Admin                                                                                                 Editar



    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   16 / 25
Roles acessam Resources, opcionalmente com Privileges




                                                                                                Home
  Guest



                                                                                                Produtos (index)



   User
                                                                                                        Produtos /
                                                                                                        Visualizar




                                                                                                        Produtos /
  Admin                                                                                                 Editar



    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   17 / 25
Roles acessam Resources, opcionalmente com Privileges




                                                                                                Home
  Guest



                                                                                                Produtos (index)



   User
                                                                                                        Produtos /
                                                                                                        Visualizar




                                                                                                        Produtos /
  Admin                                                                                                 Editar



    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   18 / 25
Roles acessam Resources, opcionalmente com Privileges




                                                                                                Home
  Guest



                                                                                                Produtos (index)



   User
                                                                                                        Produtos /
                                                                                                        Visualizar




                                                                                                        Produtos /
  Admin                                                                                                 Editar



    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   19 / 25
Bootstrapping ACLs – Parte 1




        application/Bootstrap.php




    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   20 / 25
Bootstrapping ACLs – Parte 2

                 application/Bootstrap.php




    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   21 / 25
Resources → Controllers

    application/plugins/ACL.php




    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   22 / 25
Resources → Controllers, Privileges → Actions

   application/plugins/ACL.php




    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   23 / 25
Finalizando a automação: Registrando Plugins

   application/Bootsrap.php




    CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   24 / 25
OBRIGADO!




                                               Dúvidas?


   CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott   –   2011-08-05   –   25 / 25

Mais conteúdo relacionado

Mais de Er Galvão Abbott

Php7 esta chgando! O que você precisa saber
Php7 esta chgando! O que você precisa saberPhp7 esta chgando! O que você precisa saber
Php7 esta chgando! O que você precisa saber
Er Galvão Abbott
 
PHP e Open Source
PHP e Open SourcePHP e Open Source
PHP e Open Source
Er Galvão Abbott
 
ABRAPHP: Conquistas e Realizações - 2012-2014
ABRAPHP: Conquistas e Realizações - 2012-2014ABRAPHP: Conquistas e Realizações - 2012-2014
ABRAPHP: Conquistas e Realizações - 2012-2014
Er Galvão Abbott
 
Implementing security routines with zf2
Implementing security routines with zf2Implementing security routines with zf2
Implementing security routines with zf2
Er Galvão Abbott
 
Desenvolvendo aplicações com ZF2
Desenvolvendo aplicações com ZF2Desenvolvendo aplicações com ZF2
Desenvolvendo aplicações com ZF2
Er Galvão Abbott
 
Apresentacao frameworks
Apresentacao frameworksApresentacao frameworks
Apresentacao frameworks
Er Galvão Abbott
 
Web: funcionamento, evolução e mercado
Web: funcionamento, evolução e mercadoWeb: funcionamento, evolução e mercado
Web: funcionamento, evolução e mercado
Er Galvão Abbott
 
Otimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHPOtimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHP
Er Galvão Abbott
 
Unbreakeable php
Unbreakeable phpUnbreakeable php
Unbreakeable php
Er Galvão Abbott
 
PHP: Evolução
PHP: EvoluçãoPHP: Evolução
PHP: Evolução
Er Galvão Abbott
 
ZF2 Menor, melhor e mais poderoso
ZF2 Menor, melhor e mais poderosoZF2 Menor, melhor e mais poderoso
ZF2 Menor, melhor e mais poderoso
Er Galvão Abbott
 
Implementando rotinas de geolocalização
Implementando rotinas de geolocalizaçãoImplementando rotinas de geolocalização
Implementando rotinas de geolocalização
Er Galvão Abbott
 
OSS, Comunidade, Eventos e como sua empresa ganha com isso
OSS, Comunidade, Eventos e como sua empresa ganha com issoOSS, Comunidade, Eventos e como sua empresa ganha com isso
OSS, Comunidade, Eventos e como sua empresa ganha com isso
Er Galvão Abbott
 
OWASP: O que, Por que e Como
OWASP: O que, Por que e ComoOWASP: O que, Por que e Como
OWASP: O que, Por que e Como
Er Galvão Abbott
 
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento WebProposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
Er Galvão Abbott
 
PHPBR TestFest
PHPBR TestFestPHPBR TestFest
PHPBR TestFest
Er Galvão Abbott
 
Preto, Branco e as Sombras de Cinza
Preto, Branco e as Sombras de CinzaPreto, Branco e as Sombras de Cinza
Preto, Branco e as Sombras de Cinza
Er Galvão Abbott
 
Top 10 OWASP com PHP
Top 10 OWASP com PHPTop 10 OWASP com PHP
Top 10 OWASP com PHP
Er Galvão Abbott
 
Aplicacoes Web Com AJAX
Aplicacoes Web Com AJAXAplicacoes Web Com AJAX
Aplicacoes Web Com AJAX
Er Galvão Abbott
 
Implementando Segurança Em Sua Aplicação PHP
Implementando Segurança Em Sua Aplicação PHPImplementando Segurança Em Sua Aplicação PHP
Implementando Segurança Em Sua Aplicação PHP
Er Galvão Abbott
 

Mais de Er Galvão Abbott (20)

Php7 esta chgando! O que você precisa saber
Php7 esta chgando! O que você precisa saberPhp7 esta chgando! O que você precisa saber
Php7 esta chgando! O que você precisa saber
 
PHP e Open Source
PHP e Open SourcePHP e Open Source
PHP e Open Source
 
ABRAPHP: Conquistas e Realizações - 2012-2014
ABRAPHP: Conquistas e Realizações - 2012-2014ABRAPHP: Conquistas e Realizações - 2012-2014
ABRAPHP: Conquistas e Realizações - 2012-2014
 
Implementing security routines with zf2
Implementing security routines with zf2Implementing security routines with zf2
Implementing security routines with zf2
 
Desenvolvendo aplicações com ZF2
Desenvolvendo aplicações com ZF2Desenvolvendo aplicações com ZF2
Desenvolvendo aplicações com ZF2
 
Apresentacao frameworks
Apresentacao frameworksApresentacao frameworks
Apresentacao frameworks
 
Web: funcionamento, evolução e mercado
Web: funcionamento, evolução e mercadoWeb: funcionamento, evolução e mercado
Web: funcionamento, evolução e mercado
 
Otimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHPOtimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHP
 
Unbreakeable php
Unbreakeable phpUnbreakeable php
Unbreakeable php
 
PHP: Evolução
PHP: EvoluçãoPHP: Evolução
PHP: Evolução
 
ZF2 Menor, melhor e mais poderoso
ZF2 Menor, melhor e mais poderosoZF2 Menor, melhor e mais poderoso
ZF2 Menor, melhor e mais poderoso
 
Implementando rotinas de geolocalização
Implementando rotinas de geolocalizaçãoImplementando rotinas de geolocalização
Implementando rotinas de geolocalização
 
OSS, Comunidade, Eventos e como sua empresa ganha com isso
OSS, Comunidade, Eventos e como sua empresa ganha com issoOSS, Comunidade, Eventos e como sua empresa ganha com isso
OSS, Comunidade, Eventos e como sua empresa ganha com isso
 
OWASP: O que, Por que e Como
OWASP: O que, Por que e ComoOWASP: O que, Por que e Como
OWASP: O que, Por que e Como
 
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento WebProposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
 
PHPBR TestFest
PHPBR TestFestPHPBR TestFest
PHPBR TestFest
 
Preto, Branco e as Sombras de Cinza
Preto, Branco e as Sombras de CinzaPreto, Branco e as Sombras de Cinza
Preto, Branco e as Sombras de Cinza
 
Top 10 OWASP com PHP
Top 10 OWASP com PHPTop 10 OWASP com PHP
Top 10 OWASP com PHP
 
Aplicacoes Web Com AJAX
Aplicacoes Web Com AJAXAplicacoes Web Com AJAX
Aplicacoes Web Com AJAX
 
Implementando Segurança Em Sua Aplicação PHP
Implementando Segurança Em Sua Aplicação PHPImplementando Segurança Em Sua Aplicação PHP
Implementando Segurança Em Sua Aplicação PHP
 

Último

Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 

Último (8)

Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 

Além da autenticação: Permissões de acesso com Zend Framework

  • 1. Além da Autenticação: Permissões de Acesso com Zend Framework CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2010-08-05 – 1 / 25
  • 2. Créditos Sobre o Autor: Er Galvão Abbott trabalha há mais de 15 anos desenvolvendo sistemas e aplicações com interface web. Palestra em eventos, dá cursos em diversas instituições e é o Diretor da PHP Conference Brasil, o principal evento de PHP da América Latina. Especializou-se em segurança de aplicações web, abordando o tema em uma época quando isso ainda era raro no Brasil. Site: http://www.galvao.eti.br/ Twitter: @galvao Slides e Documentos: http://slideshare.net/ergalvao Imagens: Zend Framework Logo – http://framework.zend.com/ Oxygen Iconset – http://www.oxygen-icons.org/ Minhas terríveis habilidades de Design CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2010-11-23 – 2 / 25
  • 3. Objetivo Esta apresentação tem por objetivo apresentar a criação de Listas de Controle de Acesso (ACLs) de forma a incrementar a segurança de websites e aplicações com interface web. Serão apresentados conceitos e exemplos prátcos de código, utlizando o Zend Framework como plataforma para a criação e implementação destas permissões de acesso. Serão apresentados os seguintes tópicos: ● O que são permissões de acesso ● Vantagens e Desvantagens ● Zend Framework / Zend_ACL – Por que usar? ● Resources, Roles e Privileges ● Automatizando o controle de acesso ● Atrelando Zend_ACL com Controllers e Actions CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 3 / 25
  • 4. O que são permissões de acesso São, basicamente, regras de acesso que definem se um usuário, após a autenticação, tem ou não permissão para realizar ações específicas em partes específicas de um website ou aplicação web. Vantagens ● Incremento na segurança ● Definição a nível de Role e não de nome de usuário específico ● Alto nível de generalização ● Fácil implementação de novos Resources, Roles e Privileges ● Implementação de novas features restritas a beta testers Desvantagens ● Alto nível de complexidade de desenvolvimento ● Médio/Alto nível de planejamento CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 4 / 25
  • 5. Zend Framework / Zend_Acl – Por que usar? Como todo o Framework, uma das grandes vantagens do Zend é justamente facilitar tarefas complexas de desenvolvimento, entre elas a implementação de ACLs: CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 5 / 25
  • 6. Zend Framework / Zend_Acl – Por que usar? Principais vantagens do uso do componente Zend_Acl ● Alto nível de generalização: Resources, por exemplo, podem ser Controllers (“default”), Models, etc... ● Herança entre Roles ● Permite desde a implementação de uma ACL simples a uma mais avançada, através de Assertions ● Facilmente extensível: novos resources, roles e privileges podem ser implementados pela edição de código ou mesmo dinamicamente. Principais desvantagens do uso do componente Zend_Acl ● Curva inicial de aprendizado média, devido a problemas de documentação CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 6 / 25
  • 7. Resources, Roles e Privileges Resources (Recursos) são objetos cujo acesso é controlado. Roles (Papéis) são objetos que podem tentar acessar um resource. Privileges (Privilégios) são regras especiais de acesso a um resource. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 7 / 25
  • 8. Usuários tem Roles Guest (usuários não autenticados) User (usuários autenticados) Admin (Administradores autenticados) CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 8 / 25
  • 9. Roles acessam Resources, opcionalmente com Privileges Home Guest Produtos (index) User Produtos / Visualizar Produtos / Admin Editar CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 9 / 25
  • 10. Roles acessam Resources, opcionalmente com Privileges Home Guest Produtos (index) User Produtos / Visualizar Produtos / Admin Editar CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 10 / 25
  • 11. Roles acessam Resources, opcionalmente com Privileges Home Guest Produtos (index) User Produtos / Visualizar Produtos / Admin Editar CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 11 / 25
  • 12. Roles acessam Resources, opcionalmente com Privileges Home Guest Produtos (index) User Produtos / Visualizar Produtos / Admin Editar CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 12 / 25
  • 13. Roles acessam Resources, opcionalmente com Privileges Home Guest Produtos (index) User Produtos / Visualizar Produtos / Admin Editar CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 13 / 25
  • 14. Roles acessam Resources, opcionalmente com Privileges Home Guest Produtos (index) User Produtos / Visualizar Produtos / Admin Editar CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 14 / 25
  • 15. Roles acessam Resources, opcionalmente com Privileges Home Guest Produtos (index) User Produtos / Visualizar Produtos / Admin Editar CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 15 / 25
  • 16. Roles acessam Resources, opcionalmente com Privileges Home Guest Produtos (index) User Produtos / Visualizar Produtos / Admin Editar CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 16 / 25
  • 17. Roles acessam Resources, opcionalmente com Privileges Home Guest Produtos (index) User Produtos / Visualizar Produtos / Admin Editar CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 17 / 25
  • 18. Roles acessam Resources, opcionalmente com Privileges Home Guest Produtos (index) User Produtos / Visualizar Produtos / Admin Editar CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 18 / 25
  • 19. Roles acessam Resources, opcionalmente com Privileges Home Guest Produtos (index) User Produtos / Visualizar Produtos / Admin Editar CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 19 / 25
  • 20. Bootstrapping ACLs – Parte 1 application/Bootstrap.php CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 20 / 25
  • 21. Bootstrapping ACLs – Parte 2 application/Bootstrap.php CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 21 / 25
  • 22. Resources → Controllers application/plugins/ACL.php CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 22 / 25
  • 23. Resources → Controllers, Privileges → Actions application/plugins/ACL.php CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 23 / 25
  • 24. Finalizando a automação: Registrando Plugins application/Bootsrap.php CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 24 / 25
  • 25. OBRIGADO! Dúvidas? CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott – 2011-08-05 – 25 / 25