Eu vejo que existem alguns . Quais são mantidos e fáceis de usar? Quais são os seus prós e contras?
php
codeigniter
authentication
GavinR
fonte
fonte
Respostas:
Atualização (14 de maio de 2010):
Acontece que o desenvolvedor russo Ilya Konyukhov pegou a luva depois de ler isso e criou uma nova biblioteca de autenticação para o CI baseada no DX Auth, seguindo as recomendações e os requisitos abaixo.
E o Tank Auth resultante parece a resposta para a pergunta do OP. Vou falar sobre isso aqui e chamar o Tank Auth a melhor biblioteca de autenticação para o CodeIgniter disponível hoje. É uma biblioteca sólida que possui todos os recursos de que você precisa e nenhum dos inchaços que você não precisa:
Autenticação do tanque
Faça o download do Tank Auth aqui
Resposta original:
Eu também implementei (atualmente cerca de 80% é feito após algumas semanas de trabalho). Eu tentei todos os outros primeiro; FreakAuth Light, DX Auth, Redux, SimpleLogin, SimpleLoginSecure, pc_user, Fresh Powered e muito mais. Nenhum deles estava em pé de igualdade, IMO, ou estavam carecendo de recursos básicos, inerentemente inseguros ou inchados demais para o meu gosto.
Na verdade, fiz um resumo detalhado de todas as bibliotecas de autenticação do CodeIgniter quando as estava testando (logo após o Ano Novo). FWIW, vou compartilhar com você:
Autenticação DX
FreakAuth Light
pc_user
Fresh Powered
Autenticação Redux / Ion
De acordo com o wiki do CodeIgniter , o Redux foi descontinuado, mas o fork do Ion Auth está forte: https://github.com/benedmunds/CodeIgniter-Ion-Auth
O Ion Auth é uma biblioteca com muitos recursos, sem ser excessivamente pesada ou avançada. Na maioria dos casos, seu conjunto de recursos atenderá mais do que os requisitos de um projeto.
SimpleLoginSecure
Não me interpretem mal: não pretendo desrespeitar nenhuma das bibliotecas acima; Estou muito impressionado com o que seus desenvolvedores alcançaram e com o quão longe cada um deles chegou, e não estou reutilizando parte de seu código para criar o meu. O que estou dizendo é que, algumas vezes, nesses projetos, o foco muda das 'necessidades essenciais' (como práticas difíceis de segurança) para as 'coisas agradáveis' mais suaves, e é isso que espero remediar .
Portanto: de volta ao básico.
Autenticação para CodeIgniter feita corretamente
Aqui está minha lista mínima de recursos obrigatórios de uma biblioteca de autenticação. Também é um subconjunto da lista de recursos da minha própria biblioteca;)
Nota: esses últimos pontos não são um exagero de segurança super alta que você não precisa no seu aplicativo Web. Se uma biblioteca de autenticação não atender 100% a esses padrões de segurança, NÃO USE!
Exemplos recentes de alto perfil de codificadores irresponsáveis que os deixaram de fora de seu software: # 17 é como o email da AOL de Sarah Palin foi invadido durante a campanha presidencial; uma desagradável combinação de # 18 e # 19 foi a culpada recentemente quando as contas de Britney Spears, Barack Obama, Fox News e outras no Twitter foram hackeadas; e o número 20 é o modo como hackers chineses conseguiram roubar 9 milhões de itens de informações pessoais de mais de 70.000 sites coreanos em um hack automático em 2008.
Esses ataques não são cirurgia cerebral. Se você deixar as portas traseiras abertas, não se iluda com uma falsa sensação de segurança, trancando a frente. Além disso, se você é sério o suficiente sobre a codificação para escolher uma estrutura de práticas recomendadas como o CodeIgniter, deve a si próprio pelo menos obter as medidas de segurança mais básicas corretamente.
<rant>
Basicamente, eis a seguinte: Não me importo se uma biblioteca de autenticação oferece vários recursos, gerenciamento avançado de funções, compatibilidade com PHP4, fontes CAPTCHA bonitas, tabelas de países, painéis de administração completos, sinos e assobios - se a biblioteca realmente fornecer meu site menos seguro por não seguir as práticas recomendadas. É um pacote de autenticação ; ele precisa fazer UMA coisa certa: autenticação. Se não conseguir fazer isso , está realmente fazendo mais mal do que bem.
</rant>
/ Jens Roland
fonte
Observe que a "listagem abrangente" de Jens Roland não inclui funções de usuário. Se você estiver interessado em atribuir diferentes funções de usuário (como administrador / usuário ou administrador / editor / usuário), essas bibliotecas permitem:
Tank_Auth (nº 1 acima na lista de Jens) não possui funções de usuário. Sei que não é exatamente parte da autenticação, mas desde
Faz muito sentido ter uma biblioteca para lidar com ambos, se você precisar. Estou mudando para Ion_Auth de Tank_Auth por causa disso.
fonte
Ion_auth! Parece uma pegada muito promissora e pequena! Eu gosto..
http://github.com/benedmunds/CodeIgniter-Ion-Auth
fonte
Sou desenvolvedor do Redux Auth e alguns dos problemas mencionados foram corrigidos na versão 2 beta. Você pode fazer o download deste site oficial também com um aplicativo de amostra.
Agora, questões de segurança não são usadas e um sistema de senha esquecido mais simples foi implementado.
Isso foi corrigido na versão 2 e retorna valores booleanos. Eu odiava a mistura tanto quanto você.
O aplicativo de amostra usa o sistema de validação do IC.
Trabalho em progresso
Também implementei alguns outros recursos, como visualizações de e-mail, para poder usar os assistentes do CodeIgniter nos seus e-mails.
Ainda está em andamento, por isso, se tiver mais sugestões, continue com elas.
-Pipoca
Ps: Obrigado por recomendar o Redux.
fonte
Encontrei o Flexi Auth ( http://haseydesign.com/flexi-auth/ ). Parece muito promissor, e eu comecei a usá-lo. Tem características maravilhosas. Integra-se totalmente ao CI e vem com dois arquivos de biblioteca diferentes, nos quais um é muito carregado com todas as funções e o outro contém apenas as validações.
Uma das melhores é que o membro recém-registrado obtém acesso temporário por um determinado período de tempo no site, até clicar no link do email e ativar.
fonte
Talvez você ache o Redux adequado às suas necessidades. Não é um exagero e é fornecido apenas com recursos simples que a maioria de nós exigiria. O desenvolvedor e os colaboradores foram muito rigorosos quanto ao código que contribuiu.
Esta é a página oficial
fonte
O Ion_Auth vence o tank_auth principalmente por dois motivos: funções do usuário e documentação, esses dois estão ausentes no tank_auth.
fonte
Eu uso uma versão personalizada do DX Auth . Achei simples de usar, extremamente fácil de modificar e possui um guia do usuário (com ótimos exemplos) muito parecido com o do Code Igniter.
fonte
Veja também o BackendPro
Por fim, você provavelmente acabará escrevendo algo personalizado, mas não há nada errado com os conceitos de empréstimo do DX Auth, Freak Auth, BackendPro, etc.
Minhas experiências com os aplicativos empacotados são específicas de determinadas estruturas e tive problemas para integrá-los em meus próprios aplicativos sem exigir hacks; se o pré-pacote tiver uma atualização, preciso migrá-los.
Eu também uso Smarty e ADOdb no meu código de IC, portanto, não importa o que eu sempre acabe fazendo grandes alterações de código.
fonte
A autenticação do tanque parece boa, mas a documentação é apenas uma explicação de uma página sobre como instalar, além de uma rápida descrição de cada arquivo PHP. Pelo menos foi tudo o que encontrei depois de pesquisar no Google. Talvez o que as pessoas querem dizer acima quando dizem que o Tank Auth está bem documentado seja que o código esteja bem comentado. Isso é bom, mas diferente da documentação. Seria bom ter alguma documentação sobre como integrar os recursos do Tank Auth com o código existente.
fonte
Estou tentando Ion_Auth e aprecio isso, aliás ...
SimpleLoginSecure Torna a autenticação simples e segura.
fonte