dongyaobo9081 2015-10-09 12:27
浏览 69
已采纳

Cakephp:使用AuthComponent登录Admin

I have one table whose name is admins. Its contains username and password fields. My sales user use admins table for the sales login. I want to login sales using AuthComponent. I have write code for this as below.

AppController

public $components = [ 
        'Auth' => [ 
                'loginAction' => [ 
                        'controller' => '',
                        'action' => 'login' 
                ],
                'logoutRedirect' => [ 
                        'controller' => '',
                        'action' => 'login' 
                ],
                'loginRedirect' => [ 
                        'controller' => '',
                        'action' => 'deshboard' 
                ],
                'className' => 'MyAuth'
        ]]

public function beforeFilter() {
        $this->Auth->authenticate = [
                    'Form' => ['userModel' => 'admin', "fields" => ["username" => "username", 
                                                                                "password" => "password"]
                    ]];
}

SalesController

function login() {
    $post = $this->request->data('Admin');

    if ($this->request->is('post') && !empty($post)) {

        //var_dump($this->Auth->login());exit;
        if ($this->Auth->login()) {
            return $this->Auth->redirect($this->Auth->redirectUrl());
        }

        // perform login throttling (failure and block) if Sales or Admin portal
        // set an appropriate failure message
    }
}

When I have print the return value of auth->login() function. Its always return false.

I have search a lots for this issue but I am unable to find any proper answer.

Thanks in advance for helping me.

  • 写回答

1条回答 默认 最新

  • doukuang6795 2015-10-16 11:23
    关注

    I have find the solution for my above issue.

    This issue is because of passwordHaser. I use difference password in the add or update password so we have to define the passwordHaser in the component configuration, if we don’t use simple encription.

     'Auth' => [
            'className'      => 'MyAuth',
            'authenticate'   => [
                'Form' => [
                    'userModel' => 'Admin',
                    'fields'    => [
                        'username' => 'username',
                        'password' => 'password'
                    ],
                    'passwordHasher' => [
                        'className' => 'Simple'
                    ]
                ]
            ],
        ],
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB yalmip 可转移负荷的简单建模出错,如何解决?
  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?