Bom dia Eude,
Quando você utiliza o Auth para registrar, passa uma array contendo campos
que estão definidos no seu modelo, por exemplo:
username, email, password, password_confirm
O Auth vai carregar o gerador de hash (vc pode configurar os seus
paramentros no config) e converter o campo password pelo hash gerado, isso é
feito direto no driver do modelo que vc está utilizando, por isso vc não
viu. Ele está em Kohana_Auth_ORM se não me engano.
Se você não extendeu o Auth para fazer uma implementação, terá de usar o
driver pra gerar sua senha, por exemplo do ORM vc pode fazer assim:
ORM::factory('user')->create_user($_REQUEST, array('username','password'
,'email'));
O model vai se encarregar de usar o Hash pra vc, substitua $_REQUEST pela
array contendo os campos como chave passados na segunda array e o value que
vc deseja que seja inserido para o usuário.
O mesmo vale para update_user só que vc pode puxar o modelo direto pela
instancia do Auth, exemplo:
Auth::instance()->get_user()->update_user($_REQUEST, array('username',
'password','email'));
Se você quiser simplismente ver uma string transformada em hash de password
utilize:
Auth::instance()->hash("string");
Isso vai retornar o hash gerado pela string.
Atenciosamente,
2011/3/28 eude <[email protected]>
> Bom dia, GARTZ,
>
> Consegui alterar o módulo Auth para adaptação para o meu sistema, mas
> estou com dificuldade para alterar a senha dos usuário, não consegui
> entender como o módulo Auth faz para a geração da senha. Só para você
> entender estou usando classes de domínio de negócio, e uma destas
> classes é a classe usuário onde tem um método setSenha(), para receber
> a senha e converte-la em qualquer hash que eu quiser. Tentei usar os
> métodos do módulo Auth para encriptação da senha, mas infelizmente não
> funcionou. Preciso de uma luz. Qual o método que posso usar para isso,
> ou uma sequência para isso?
>
> Obrigado!
>
> On 24 mar, 18:46, GARTZ <[email protected]> wrote:
> > Amigo, se ta querendo informar o que?
> >
> > Em uma autenticação não existe validação, existe tu conseguiu ou não
> fazer o
> > login. Qualquer outra informação que vc der, irá ajudar alguém mal
> > intencionado a forçar login no teu sistema.
> >
> > Em todo caso, se tu quiser um exemplo, se pode usar uma validação
> > customizada na tua controladora, exemplo:
> >
> > // If there is a post and $_POST is not empty
> >
> > if ($_REQUEST && isset($_REQUEST['username'], $_REQUEST['password']))
> >
> > {
> >
> > // Check Auth if the post data validates using the rules setup in the
> user
> > model
> >
> > if (Auth::instance()->login($_REQUEST['username'],
> $_REQUEST['password']))
> >
> > {
> >
> > // redirect to the user account
> >
> > $this->request->redirect('user/profile');
> >
> > return;
> >
> > }
> >
> > else
> >
> > {
> >
> > $view->set('username', $_REQUEST['username']);
> >
> > // Get errors for display in view
> >
> > $validation = Validation::factory($_REQUEST)
> >
> > ->rule('username', 'not_empty')
> >
> > ->rule('username', 'min_length', array(':value', 1))
> >
> > ->rule('username', 'max_length', array(':value', 127))
> >
> > ->rule('password', 'not_empty');
> >
> > if ($validation->check())
> >
> > {
> >
> > $validation->error('password', 'invalid');
> >
> > }
> >
> > $view->set('errors', $validation->errors('login'));
> >
> > }
> >
> > }
> >
> > //------------
> >
> > Este trecho de código foi escrito pelo Mixu, eu discordo da sua aplicação
> e
> > logo irei modificar o módulo useradmin, para não ter esse tipo de ruido
> no
> > action_login.
> >
> > Abraço,
> >
> > 2011/3/24 Web Space Online <[email protected]>
> >
> > > pode me explicar como trato a validacao no meu metodo e retorno um
> erro ?
> >
> > >https://gist.github.com/885901
> >
> > > estou apenas redirecionando para o login novamente e nao informando o
> erro
> > > ..
> >
> > > On 24-03-2011 17:25, Gustavo Diogo wrote:
> >
> > > wow!
> >
> > > On Thu, 2011-03-24 at 17:19 -0300, GARTZ wrote:
> >
> > > Mudou, está mais simples. utilize bloco try catch pra tratar erros de
> > > validação.
> >
> > > Cara se tu quiser, instala o modulo que eu fiz que extende o Auth, tem
> > > tudo pronto, além de sistema de login tem até um admin, tu pega as
> > > controladoras e views, extende e usa como vc precisar. Tem
> documentação,
> > > testes, exemplos e tudo mais.
> >
> > > https://github.com/gartz/useradmin
> >
> > > Abraço,
> >
> > > 2011/3/24 Web Space Online <[email protected]>
> >
> > > Estou testando o auth do ko3.1.2, a última versão que usei foi 3.0.9 e
> > > mudaram algumas coisas.
> >
> > > um exemplo de utilização do auth, ainda não fiz a validação exibir o
> error,
> > > pelo que vi mudaram o validate também.
> >
> > >https://gist.github.com/885766
> >
> > > Márcio Dias @spaceonline
> >
> > > On 24-03-2011 16:45, GARTZ wrote:
> >
> > > if( Auth::instance()->logged_in() )
> > > {
> > > $user = Auth::instance()->get_user();
> > > // $user vai ser um Model_User do usuário logado.
> > > }
> >
> > > então vc poderá tratar user no teu modelo, ou se tu quiser um jeito
> > > sujo na controladora chama o driver da ORM:: e passa o teu $user nela e
> sai
> > > brincando.
> >
> > > Abraço,
> >
> > > 2011/3/24 eude <[email protected]>
> >
> > > Estou usando o ORM.
> >
> > > On 24 mar, 16:06, GARTZ <[email protected]> wrote:
> > > > o Auth do KO3 e 3.1 é absurdamente simples, desde que a pessoa tenha
> > > noção
> > > > do que é um Singleton.
> >
> > > > eude, vc ta usando o Auth no KO3 ou 3.1 e vc ta usando ORM como
> driver ou
> > > > file?
> >
> > > > Abraço,
> >
> > > > 2011/3/24 Anderson Marques Ferraz <[email protected]>
> >
> > > > > Pois é, em pouco tempo também consegui usar o Auth sem problema.
> >
> > > > > Em 24 de março de 2011 16:02, Get <[email protected]>
> escreveu:
> >
> > > > > Aqui eu uso o Auth na boa.
> >
> > > > >> Algumas coisas mudaram do ko 3.0.X pro 3.1.X, você deve usar o SQL
> que
> > > > >> eles fornecem pra versão adequada do seu kohana.
> >
> > > > >> Talvez esteja ai o seu problema.
> >
> > > > >> valeu
> >
> > > > >> @rafaelget
> >
> > > > >> 2011/3/24 eude <[email protected]>
> >
> > > > >>> Me aponta uma outro solução. No meu projeto só está faltando o
> > > sistema
> > > > >>> login.
> >
> > > > >>> On 24 mar, 15:44, Marcelo Rodrigo <[email protected]> wrote:
> > > > >>> > Eu nunca gostei deste Auth do Kohana.
> > > > >>> > Complicado de usar, muito chatinho ... não combina com o
> framework
> > > que
> > > > >>> é
> > > > >>> > simples e direto.
> >
> > > > >>> > Atenciosamente,
> >
> > > > >>> > Marcelo Rodrigohttp://marcelorodrigo.com
> >
> > > > >>> > Em 24 de março de 2011 15:41, eude <[email protected]>
> > > escreveu:
> >
> > > > >>> > > O erro está acontecendo no Auth::instance()->logged_in().
> >
> > > > >>> > > On 24 mar, 14:23, GARTZ <[email protected]> wrote:
> > > > >>> > > > Olá Eude,
> >
> > > > >>> > > > Acredito que meu modulo poderá ajuda-lo:
> > > > >>> > >https://github.com/gartz/useradmin/
> >
> > > > >>> > > > Ele foi feito para KO3.1 mas o Mixu (autor do Useradmin)
> havia
> > > > >>> feito para
> > > > >>> > > > KO3.0.
> >
> > > > >>> > > > Na minha versão há discrepancias bem grandes do original,
> sendo
> > > que
> > > > >>> é
> > > > >>> > > apenas
> > > > >>> > > > um módulo e permite ser extendido pela aplicação.
> >
> > > > >>> > > > Ele já vem preparado pra ser usado com driver de ORM do
> Kohana,
> > > mas
> > > > >>> você
> > > > >>> > > > pode fácilmente modifica-lo para utilizar outros drivers.
> >
> > > > >>> > > > Dentro da pasta de testes do unittest é tem o shema de
> > > instalação
> > > > >>> do SQL.
> >
> > > > >>> > > > Nos testes unitários há exemplos de todos usos do Auth, ele
> > > > >>> inclusive
> > > > >>> > > > integra com OAuth e outros módulos.
> >
> > > > >>> > > > Espero que lhe seja útil.
> >
> > > > >>> > > > PS, para carregar esses dados, vc pode simplismente:
> > > > >>> > > > Auth::instance()->getUser();
> >
> > > > >>> > > > Isso vai te retornar um ValueObject ou Model_User contendo
> > > todas
> > > > >>> > > > propriedades do User LOGADO.
> >
> > > > >>> > > > Abraço,
> > > > >>> > > > Gartz
> >
> > > > >>> > > > 2011/3/24 eude <[email protected]>
> >
> > > > >>> > > > > Ola! Amigo!
> >
> > > > >>> > > > > Consegui usar o básico do Módulo Auth, mas não consegui
> > > carregar
> > > > >>> os
> > > > >>> > > > > dados de login, como: Nome, Tipo de Usuário. Você tem
> alguma
> > > > >>> resposta?
> >
> > > > >>> > > > > On 1 fev, 17:09, Anderson Marques Ferraz <
> > > > >>> [email protected]>
> > > > >>> > > > > wrote:
> > > > >>> > > > > > Eu estou bem certo de que é possível fazer o que você
> quer
> > > (ou
> > > > >>> o que
> > > > >>> > > eu
> > > > >>> > > > > > entendi que você quer) usando os links mencionados. Só
> pra
> > > não
> > > > >>> falar
> > > > >>> > > > > > bobagem, eu que nunca o tinha usado antes fiz aqui só
> pra
> > > > >>> garantir.
> >
> > > > >>> > > > > > Além disso, fazer seu próprio sistema de login também
> não é
> > > > >>> muito
> > > > >>> > > > > difícil.
> > > > >>> > > > > > Se suas perguntas fossem mais específicas, talvez a
> gente
> > > > >>> pudesse te
> > > > >>> > > > > ajudar
> > > > >>> > > > > > melhor.
> >
> > > > >>> > > > > > De qualquer forma, pretendo publicar no meu blog depois
> um
> > > > >>> pequeno
> > > > >>> > > > > tutorial.
> > > > >>> > > > > > Mas pra pegar o código de exemplo que eu fiz é só fazer
> > > > >>> checkout
> > > > >>> > > aqui:
> >
> > > > >>> > > > > >http://code.google.com/p/cacovsky/
> >
> > > > >>> > > > > > Configure o banco de dados como está no arquivo [1] e
> > > > >>> configure o
> > > > >>> > > acesso
> > > > >>> > > > > ao
> > > > >>> > > > > > banco aqui [2]
> >
> > > > >>> > > > > > [1]
> >
> > >http://cacovsky.googlecode.com/svn/trunk/kohana/modules/auth/mysql.sql
> > > > >>> > > > > > [2]
> >
> > > > >>>
> http://cacovsky.googlecode.com/svn/trunk/kohana/example_auth/config/d
> > > .
> > > > >>> > > ..
> >
> > > > >>> > > > > > --
> > > > >>> > > > > > Anderson Marques Ferraz
> > > > >>> > > > > > UEFS - Engenharia de Computação - 2006.1
> > > > >>> > > > > > Linux user #500881 -http://counter.li.org/
> >
> > > > >>> > > > > > Ideas are open knowledge. Don’t claim ownership.
> They’re
> > > not
> > > > >>> your
> > > > >>> > > ideas
> > > > >>> > > > > > anyway, they’re someone else’s. They are out there
> floating
> > > in
> > > > >>> the
> > > > >>> > > ether.
> > > > >>> > > > > > You just have to put yourself in a frame of mind to
> pick
> > > them
> > > > >>> up.
> > > > >>> > > > > > (Paul Arden)
> >
> > > > >>> > > > > --
> > > > >>> > > > > Você está recebendo esta mensagem porque se inscreveu no
> > > grupo
> > > > >>> "Kohana
> > > > >>> > > Php"
> > > > >>> > > > > dos Grupos do Google.
> > > > >>> > > > > Para postar neste grupo, envie um e-mail para
> > > > >>> > > [email protected].
> > > > >>> > > > > Para cancelar a inscrição nesse grupo, envie um e-mail
> para
> > > > >>> > > > > [email protected].
> > > > >>> > > > > Para obter mais opções, visite esse grupo em
> > > > >>> > > > >http://groups.google.com/group/kohana-php?hl=pt-BR.
> >
> > > > >>> > > --
> > > > >>> > > Você está recebendo esta mensagem porque se inscreveu no
> grupo
> > > > >>> "Kohana Php"
> > > > >>> > > dos Grupos do Google.
> > > > >>> > > Para postar neste grupo, envie um e-mail para
> > > > >>> [email protected].
> > > > >>> > > Para cancelar a inscrição nesse grupo, envie um e-mail para
> > > > >>> > > [email protected].
> > > > >>> > > Para obter mais opções, visite esse grupo em
> > > > >>> > >http://groups.google.com/group/kohana-php?hl=pt-BR.
> >
> > > > >>> --
> > > > >>> Você está recebendo esta mensagem porque se inscreveu no grupo
> > > "Kohana
> > > > >>> Php" dos Grupos do Google.
> > > > >>> Para postar neste grupo, envie um e-mail para
> > > > >>> [email protected].
> > > > >>> Para cancelar a inscrição nesse grupo, envie um e-mail para
> > > > >>> [email protected].
> > > > >>> Para obter mais opções, visite esse grupo em
> > > > >>>http://groups.google.com/group/kohana-php?hl=pt-BR.
> >
> > > > >> --
> > > > >> Você está recebendo esta mensagem porque se inscreveu no grupo
> "Kohana
> > > > >> Php" dos Grupos do Google.
> > > > >> Para postar neste grupo, envie um e-mail para
> > > [email protected]
> > > > >> .
> > > > >> Para cancelar a inscrição nesse grupo, envie um e-mail para
> > > > >> [email protected].
> > > > >> Para obter mais opções, visite esse grupo em
> > > > >>http://groups.google.com/group/kohana-php?hl=pt-BR.
> >
> > > > > --
> > > > > Anderson Marques Ferraz
> > > > > UEFS - Engenharia de Computação - 2006.1
> >
> > ...
> >
> > mais »
>
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php"
> dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para [email protected].
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> [email protected].
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/kohana-php?hl=pt-BR.
>
>
--
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos
Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para
[email protected].
Para obter mais opções, visite esse grupo em
http://groups.google.com/group/kohana-php?hl=pt-BR.