Laravel 内のユーザー認証には Cartalyst Sentinel を使用しています。新しいユーザーを追加するフォームを作成しました。奇妙な理由で、パスワード フィールドをUser クラス モデルSentinel::register()
の配列に入れないと、パスワードが届きません。$fillable
これは潜在的なセキュリティ上の問題です。どうすればこれを回避できますか? Sentinel を使用して新しいユーザーを作成するときに、何か欠けているものがあるに違いありません (そして、Sentinel のドキュメントには有用な情報がほとんど含まれていません)。
私がコードに関して行っていることの簡単な要約です。ユーザーの作成に必要なフィールドで配列を埋めました。この配列は に渡されSentinel::register()
ます。すべてうまくいっているように見えますが、データベースを調べてみると、パスワード フィールドが空白になっています。
$newUser = array(
'_token' => Input::get('_token'),
'email' => Input::get('email'),
'password' => Input::get('password'),
'first_name' => Input::get('first_name'),
'middle_name' => Input::get('middle_name'),
'last_name' => Input::get('last_name'));
$user = Sentinel::register($newUser);
補足: 残念ながら、認証システムを切り替えることはできません。Sentinel を使用する必要があります。