A senha você altera direto no model.
Carrega uma factory do usuário, altera a senha e da um save.
O model user do auth tem um filtro que faz o hash da senha
automaticamente.
valeu
@rafaelget
2011/3/28 eude <[email protected] <mailto:[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] <mailto:[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]
<mailto:[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]
<mailto:[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]
<mailto:[email protected]>>
>
> > Estou usando o ORM.
>
> > On 24 mar, 16:06, GARTZ <[email protected]
<mailto:[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]
<mailto:[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]
<mailto:[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]
<mailto:[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]
<mailto:[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
<http://marcelorodrigo.com>
>
> > > >>> > Em 24 de março de 2011 15:41, eude
<[email protected] <mailto:[email protected]>>
> > escreveu:
>
> > > >>> > > O erro está acontecendo no
Auth::instance()->logged_in().
>
> > > >>> > > On 24 mar, 14:23, GARTZ <[email protected]
<mailto:[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]
<mailto:[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] <mailto:[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]
<mailto:[email protected]>.
> > > >>> > > > > Para cancelar a inscrição nesse grupo, envie um
e-mail para
> > > >>> > > > > [email protected]
<mailto:kohana-php%[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]
<mailto:[email protected]>.
> > > >>> > > Para cancelar a inscrição nesse grupo, envie um
e-mail para
> > > >>> > > [email protected]
<mailto:kohana-php%[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]
<mailto:[email protected]>.
> > > >>> Para cancelar a inscrição nesse grupo, envie um e-mail para
> > > >>> [email protected]
<mailto:kohana-php%[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] <mailto:[email protected]>
> > > >> .
> > > >> Para cancelar a inscrição nesse grupo, envie um e-mail para
> > > >> [email protected]
<mailto:kohana-php%[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] <mailto:[email protected]>.
Para cancelar a inscrição nesse grupo, envie um e-mail para
[email protected]
<mailto:kohana-php%[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.