質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

3598閲覧

laravel5.1 認証テーブル名・カラム名の変更

退会済みユーザー

退会済みユーザー

総合スコア0

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2016/09/13 00:57

laravel5.1のAuth機能をusersテーブルではないテーブルで使いたいです。hひとまずユーザー登録を試みたのですが、自分が調べたものだけでは不十分なのかうまくいきません。テーブル名をnewusersにしemailをnewemailとして以下のように変更してみたのですが・・..

User.php protected $table = 'newusers'; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = ['name', 'newemail', 'password']; /** * The attributes excluded from the model's JSON form. * * @var array */ protected $hidden = ['password', 'remember_token']; }
AuthController.php protected function validator(array $data) { return Validator::make($data, [ 'name' => 'required|max:255', 'newemail' => 'required|email|max:255|unique:newusers', 'password' => 'required|confirmed|min:6', ]); } protected function create(array $data) { return User::create([ 'name' => $data['name'], 'newemail' => $data['newemail'], 'password' => bcrypt($data['password']), ]); }
auth.php 'model' => App\User::class, 'table' => 'newusers',

他にも何か変更すべき点があるのでしょうか?パスワードリセットなどは
とりあえず放置してるので変更はしていません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

natady

2016/09/13 01:29 編集

どこかのタイミングで`Auth::attempt()`か`auth()->attempt()`をやっていると思います。その認証周りのコードを貼っていただけないでしょうか? ※下のコメントは削除リクエストを出しました。
退会済みユーザー

退会済みユーザー

2016/09/13 01:38

Auth::attemptは使ってないです。attemptの個人的な解釈としては参照するカラムを自由に選択するといった感じなのですが、私が今回やりたいのはAuth機能を使いつつテーブルもカラムも全く違ったものを使いたいのです。それともattemptの解釈自体何か間違ってるでしょうか?無知ですみません・・・
guest

回答1

0

ベストアンサー

質問へのご回答ありがとうございます。

vendor\laravel\framework\src\Illuminate\Foundation\Auth\AuthenticatesUsers.phpを見たところ、どうやらemailのカラム名は固定のようです。

githubにあるコード

どうにかこれをオーバライドできるようなやり方があれば良いのですが、そこまでLaravelに詳しくないため分かりません。

他のファイルも見てみたのですが、emailがベタ書きされている箇所が多数あり、これを書き直していくのは保守性の面でもおすすめできないです。

私は既存DBに対応するために、emailUser_Nameに、passwordPasswordに変更したかったため、標準のAuthController.phpを使わずに独自の認証コントローラを作りました。

投稿2016/09/13 02:03

編集2016/09/13 02:07
natady

総合スコア606

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/09/13 02:20

一つ質問させてください。独自の認証システムというのはauth.phpやUser.phpは変えずにAuthController.phpだけを変えて作ったということですか?その場合パスワードリセットなども自作しなくてはならないことになるんでしょうか・・
natady

2016/09/13 02:23

そうなってしまいます。
退会済みユーザー

退会済みユーザー

2016/09/13 05:22

できれば標準のAuth機能に頼りたいんですよね・・・。もう少し頑張ってみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問