首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cartalyst Sentry需要登录,但未提供任何登录

Cartalyst Sentry需要登录,但未提供任何登录
EN

Stack Overflow用户
提问于 2015-01-11 12:58:08
回答 2查看 741关注 0票数 0

我使用Cartalyst Sentry进行身份验证。当我试图从命令行为我的数据库设定种子时,我得到了这个错误:

代码语言:javascript
复制
[Cartalyst\Sentry\Users\LoginRequiredException]  
A login is required for a user, none given.

这是我的DatabaseSeeder.php文件:

代码语言:javascript
复制
<?php

class DatabaseSeeder extends Seeder {

    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Eloquent::unguard();

        $this->call('PriceChangeOccuredTableSeeder');
    }

}

这是我的PriceChangeOccuredTableSeeder.php文件:

代码语言:javascript
复制
<?php

// Composer: "fzaninotto/faker": "v1.3.0"
use Faker\Factory as Faker;

class PriceChangeOccuredTableSeeder extends Seeder {

    public function run() {
        DB::table('price_change_occured')->delete();

        User::create(array('product_id' => 1, 'owner_id' => 2, 'change_occured' => 1));
    }

}

这是我的PriceChangeOccured模型

代码语言:javascript
复制
<?php

class PriceChangeOccured extends \Eloquent {
    public $table = 'price_change_occured';
}
EN

回答 2

Stack Overflow用户

发布于 2016-02-08 04:33:40

如果将登录名从"EMAIL“更改为"USERNAME”,并且一切都很好,那么您也应该更改这些内容:

在您的种子中添加

  1. 也添加用户名:

SentryUserRepository.php UserSeeder扩展了Seeder { protected $admin_email = "admin@admin.com";protected $admin_password = "password";protected $admin_username = "naghipour.me";}和find SentryUserRepository.php

  • find create function并更改为:

$data =$data( "email“=> $input"email","password”=> $input"password","username“=> $input"username”);

注意:迁移时需要添加用户名文件:

代码语言:javascript
复制
$table->string('username', 100)->unique();

每到有电子邮件的地方,你也应该加上用户名。

票数 1
EN

Stack Overflow用户

发布于 2015-01-13 09:14:06

错误提示您没有向该用户添加登录名。因此,您只需根据用户表的工作方式添加登录(或电子邮件)即可。

我假设您的用户表需要电子邮件/登录名和密码。在本例中创建用户时,您没有提供其中的任何内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27884097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档