Novidades no Edge Rails: Novo plugin de autenticação HTTP
Posted on December 05, 2006
Se não está feliz com algumas das opções existentes para fazer autenticação HTTP em Rails, temos mais uma opção no mercado. Agora temos um plugin oficial Rails para Http authentication no repositório Rails que torna isso algo simples.
Alguns métodos convenientes agora estão disponíveis nos seus controllers para segurar sua mão: authenticate_or_request_with_http_basic que segura o username e senha básicos em um bloco para execução e request_http_basic_authentication que pede ao cliente para se autenticar usando autenticação http básica. Usá-los é muito simples – suas inclusões em um filtro de autenticação parece ser de uso mais intuitivo:
before_filter :verify_access
def show
@document = @user.documents.find(params[:id])
end
# Use autenticação básica no meu domínio para pegar um
# objeto de usuário. Como isso é um filtro de segurança -
# retorne false se o usuário não está autenticado.
def verify_access
authenticate_or_request_with_http_basic(“Documents Realm”) do |username, password|
@user = User.authenticate(username, password)
end
end
end
Quando o bloco authenticate_or_request_with_http_basic executa e retornam false, request_http_basic_authentication é invocado e requisita que o usuário entre com suas credenciais. Você pode manualmente invocar request_http_basic_authentication se estiver fazendo um mistura de métodos de autenticação e quer usar autenticação http somente se a autenticação de session falhar etc.
E qual o problema? Bem, autenticação digest ainda não foi adicionada ao plugin – de qualquer forma a estrutura e o framework foram colocados a seus pés para que possa contribuir com a lógica digest. Dê uma olhada em HttpAuthentication::Digest e veja quão fácil seria de contribuir de volta para seu framework favorito. Apenas preencha os espaços em branco que diz coisas como # Fancy nouncing goes here e # You compute me e o mundo o reverenciará.
Referências
blog comments powered by Disqus
Archives
- February 12(2)
- December 11(1)
- November 11(4)
- October 11(6)
- September 11(5)
- August 11(1)
- July 11(5)
- May 11(4)
- April 11(11)
- March 11(4)
- February 11(3)
- January 11(4)
- December 10(9)
- November 10(2)
- October 10(10)
- September 10(4)
- August 10(6)
- July 10(14)
- June 10(16)
- May 10(8)
- April 10(14)
- March 10(9)
- February 10(6)
- January 10(14)
- December 09(10)
- November 09(10)
- October 09(7)
- September 09(19)
- August 09(4)
- July 09(12)
- June 09(7)
- May 09(12)
- April 09(11)
- March 09(9)
- February 09(9)
- January 09(12)
- December 08(14)
- November 08(20)
- October 08(15)
- September 08(18)
- August 08(25)
- July 08(13)
- June 08(21)
- May 08(29)
- April 08(27)
- March 08(12)
- February 08(32)
- January 08(31)
- December 07(27)
- November 07(30)
- October 07(25)
- September 07(28)
- August 07(16)
- July 07(15)
- June 07(16)
- May 07(7)
- April 07(13)
- March 07(8)
- February 07(9)
- January 07(24)
- December 06(17)
- November 06(17)
- October 06(15)
- September 06(38)




