【问题标题】:Different name fields user table?不同的名称字段用户表?
【发布时间】:2013-06-17 20:19:11
【问题描述】:

我有一个包含 2 个字段(用户名、密码)的表单和一个包含这 2 个相同字段(用户名、密码)的 mysql 表,并且我的身份验证系统正常工作:)

但是,如果我的表字段具有不同的名称,例如:(my_user, my_pass),我将无法使其工作。

如果您只是更改另一个上的 username 字段也适用于我,那么给我带来问题的是 password 字段。

我的配置 auth.php

'driver' => 'eloquent'

更新

已在我的控制器中找到解决方案,password 名称无法更改。

之前(错误): 我首先做的事情是错误的

$userdata = array(
        'my_user' => Input::get('my_user'),
        'my_pass' => Input::get('my_pass')
    );

应该是

$userdata = array(
        'my_user' => Input::get('my_user'),
        'password' => Input::get('my_pass')
    );

【问题讨论】:

标签: authentication laravel-4


【解决方案1】:

您可以在配置文件夹内的auth.php 中定义自己的用户名和密码字段。

 return array(
    'driver' => 'eloquent',
    'username' => 'my_user',
    'password' => 'my_pass',
    'model' => 'User',
    'table' => 'users',
 );

我希望这能有所帮助。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。你需要扩展你的模型:

    // User.php
    
    use Illuminate\Auth\UserInterface;
    use Illuminate\Auth\Reminders\RemindableInterface;
    
    class User extends Eloquent implements UserInterface, RemindableInterface {
    
        protected $fillable = array('name','passwd','email','status','timezone','language','notify');
        protected $hidden = array('passwd');
    
        protected $table = "users_t";
        protected $primaryKey = "uid";
    
        public static $rules = array(
            'name' => 'required',
            'passwd' => 'required',
            'email' => 'required'
        );
    
        public function getAuthIdentifier() {
            return $this->getKey();
        }
    
        public function getAuthPassword() {
            return $this->passwd;
        }
    
        public function getReminderEmail() {
            return $this->email;
        }
    
        public static function validate($data) {
            return Validator::make($data,static::$rules);
        }
    }
    

    【讨论】:

      【解决方案3】:

      你也需要实现这个方法:

      public function getRememberToken(){
      
      }
      public function setRememberToken($value){
      
      }
      public function getRememberTokenName(){
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-17
        • 1970-01-01
        相关资源
        最近更新 更多