2016-10-08 7 views
-1

Я хочу написать пользовательскую аутентификацию на laravel, я хочу знать, должен ли я использовать значение по умолчанию auth, или мне нужно написать новое?пользовательская аутентификация на Laravel

моего Auth Последовательность действия:

Шаг 1 - Показать форму по электронной почте (в этом шаге мы получим только адрес электронной почты)

Шага 1-2 - проверить электронную почту существование и если электронная почта существует, мы переходим к шагу 2, и если не существует, я должен перенаправить пользователя к шагу 3

Шаг 2 - получить пароль пользователя (подтвердить пароль, и если все в порядке пользователь будет войти в систему)

Шаг 3 - показать форму регистрации и заполнить электронную почту с введенным пользователем адрес электронной почты (проверить форму и зарегистрировать пользователя)

Что такое ваше решение?

+0

Пробовали ли вы его? Это сработало? В чем вопрос? –

+0

Нет необходимости в пользовательской проверке, просто исправьте свой поток кодирования, вот и все. – Komal

+0

@JimGarrison Нет. Я не пробовал, это идея. Мне нужно решение для этого рабочего процесса. – MajAfy

ответ

1

// Правила Вход

public function user_login_rules(array $data) 
{ 
    $messages = [ 
    'email.required' => 'Please enter your email' 
    ]; 

    $validator = Validator::make($data, [ 
    'email' => 'required' 
    ], $messages); 

    return $validator; 
} 

Ваш пост метод

public function postSignIn(Request $request) 
{ 
    $request_data = $request->all(); 
    $validator = $this->user_login_rules($request_data); 
    if($validator->fails()) 
    { 
    return redirect()->back()->withErrors($validator)->withInput(); 
    } 
    else 
    { 
    $email = $request_data['email']; 
    $user_details = User::where('email', $email)->first(); 
    if(count($user_details) > 0) 
    { 
     $credentials = array('email'=> $email ,'password'=> $request_data['password']);   
     if ($this->auth->attempt($credentials, $request->has('remember'))) 
     { 
     //Login successful 
     return redirect()->to('/home'); 
     } 
     else 
     { 
     $error = array('password' => 'Please enter a correct password'); 
     return redirect()->back()->withErrors($error); 
     } 
    } 
    else 
    {  
     //Display register page with email 
     return view('register')->with('email', $email); 
    }  
    } 
} 
+0

Хороший ..... – devpro

+1

@devpro Thnx ... :) – Komal

+0

Спасибо @Komal ... – MajAfy

Смежные вопросы