Laravel Смена пароля

aleks_lv

Новичок
Добрый имеется простая авторизация laravel 5.2
то есть создан один пользователь путем

Код:
class UsersTableSeeder extends Seeder
{
public function run()
{
DB::table('users')->insert([
'name' => 'a',
'email' => '[email protected]',
'password' => bcrypt('1'),
]);
}
}
меняю пароль в любом месте месте (контролере каком угодно)
Код:
public function update(Request $request, $id)
{

$user = User::find(1);
$user->name = $request->name;
$user->password = bcrypt($request->password);
$user->save();
}
и при попытке пройти авторизацию
с новым паролем ноль
в каком то своем контроллере
AccountController.php
по маршруту
Route::post('login', 'AccountController@login');
Код:
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;


use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Redirect;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Input;

use Illuminate\Support\Facades\Password;

class AccountController extends Controller
{
    public function login() {


        $data = Input::all();
        // Applying validation rules.
        $rules = array(
            'name' => 'required',
'password' => 'required',
);
$validator = Validator::make($data, $rules);

if ($validator->fails()){
return Redirect::to('/login')->withInput(Input::except('password'))->withErrors($validator);

}
else {

$userdata = array(
'name' => Input::get('name'),
'password' => Input::get('password')
);
// doing login.
if (Auth::validate($userdata)) {
if (Auth::attempt($userdata)) {
return Redirect::intended('/');
}
}
else {
// if any error send back with message.
Session::flash('error', 'Что-то пошло не так');
return Redirect::to('login');
}
}
}
}
то есть Auth::validate($userdata)=false
что не так делаю?
 
Последнее редактирование:

AmdY

Пью пиво
Команда форума
Что вы вообще творите, откуда этот бред взяли. Вам нужно доку прочитать от и до, чтобы не было в коде DB::table и понимать как работает Eloquent, как работать с зависимостями, как хэшировать пароли, как валидировать запросы, как сидить базу.
 

aleks_lv

Новичок
ясно
скорей всего неправильно изложил суть проблеммы
спасибо за совет
разобрался
 

AmdY

Пью пиво
Команда форума
нет, просто не надо bcrypt узнать напрямую. в laravel есть специальная либа. при этом если работаешь с orm, то хэшированые происходит где-то в сеттерах, а когда используешь DB::insert, то orm не юзается и всё идёт в тартарары
 

aleks_lv

Новичок
да нет все норма
была техническая ошибка
1)простейшая авторизация
пароль логин все создалось php artisan db:seed
2)
создал свой AccountController что б проверять что к чему

вот возникла необходимость менять пароль
причем без фишек движка
за совет спасибо
чайник..... осваиваю
 

AmdY

Пью пиво
Команда форума
Ой, блин, это же тейлор с его функциями хелперами, похоже bcrypt это хелпер на на хэширования https://laravel.com/docs/5.0/hashing. Но мы же не говнокодеры из symfony проектов, чтобы всё из контейнера таскать
 
Сверху