Rails: Bloqueio de um usuário usando routes.rb

votos
2

Eu tenho uma url especial que eu gostaria apenas poucas pessoas para ter acesso. Eu tenho uma lista de super usuários armazenados como uma matriz no app.yml. Como posso usar essa matriz em: seção de requisitos de uma rota específica no arquivo routes.rb para permitir que apenas os super-usuários o acesso a esta rota? Muito obrigado.

Publicado 10/12/2008 em 10:49
fonte usuário
Em outras línguas...                            


2 respostas

votos
3

Como Pedro disse .. lógica de autenticação deve estar no código do controlador.
Dê uma olhada em before_filters, onde você especifica os métodos que serão chamados antes (todas ou especificados) ações em um controlador são executados. Você pode usar esse método para negar ações de execução. Procure a seção chamada Filtro Cadeia Travar aqui

: requisitos é para especificar restrições para partes do URL para a rota para corresponder. Normalmente, as expressões regulares são especificados conforme mostrado.

map.geocode 'geocode/:postalcode', :controller => 'geocode',
              :action => 'show', :requirements => { :postalcode => /\d{5}(-\d{4})?/ }
Respondeu 10/12/2008 em 11:20
fonte usuário

votos
3

Não, você não pode. :requirementsestão relacionados com apenas os parâmetros de rota.

Que é, na minha opinião, uma coisa boa. É uma convenção bem conhecido por ter lógica de autenticação em controladores.

Respondeu 10/12/2008 em 10:57
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more