Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Guards Guards

Guards Guards

Nemanja Maric

December 15, 2016
Tweet

More Decks by Nemanja Maric

Other Decks in Programming

Transcript

  1. SAVET Ako pokrećete php artisan make:auth vodite računa da to

    bude na početku pravljenja aplikacije, kako vam ne bi pregazio controller-e ili view-ove ako postoje pod tim nazivom.
  2. .

  3. APLIKACIJA JE SPREMNA make:auth koristi bootstrap. Idealan je za male

    aplikacije, jer ima sve što klijentu treba za sajt, kao sto su: 1. Registracija 2. Login 3. Change password 4. Forgot password 5. Logout
  4. ZASTO JE PO MOM MIŠLJENJU DOBAR LARAVEL AUTHENTICATION 1. Preglednost

    2. Brzo je spremno za rad 3. 4. 5. Dosta mogućnosti out of the box Lako se edituje Mogućnost dodavanja custom guard-a
  5. REGISTER CONTROLLER protected function validator(array $data) { return Validator::make($data, [

    'name' => 'required|max:255', 'email' => 'required|email|max:255|unique:users', 'password' => 'required|min:6|confirmed', ]); } protected function create(array $data) { return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), ]); }
  6. LOGIN CONTROLLER /** * Where to redirect users after login

    / register. * * @var string */ protected $redirectTo = '/home';
  7. public function auth() { // Authentication Routes... $this->get('login', 'Auth\LoginController@showLoginForm')->name('login' $this->post('login',

    'Auth\LoginController@login'); $this->post('logout', 'Auth\LoginController@logout')->name('logout' // Registration Routes... $this->get('register', 'Auth\RegisterController@showRegistrationForm' $this->post('register', 'Auth\RegisterController@register'); // Password Reset Routes... $this->get('password/reset', 'Auth\ForgotPasswordController@showLinkReque $this->post('password/email', 'Auth\ForgotPasswordController@sendResetLin $this->get('password/reset/{token}', 'Auth\ResetPasswordController@showRe $this->post('password/reset', 'Auth\ResetPasswordController@reset' }
  8. PREPRAVLJANJE MAKE:AUTH U Laravelu 5.3, prepravljanje auth-a je lakše i

    preglednije nego u verziji 5.2. Pri pokretanju make:auth, može se jednostavno preimenovati folder, za controller-e i view-ove. Zameniti namespace, dodati custom guarda, route, i sama registacija guard-a.
  9. MANUELNO Možda ne baš najbolji način ali pregledan. Veoma lako

    ćete se snaći kada se budete vratili na projekat da nešto dodate ili izmenite.
  10. REGISTRACIJA CUSTOM GUARDA U config/auth.php treba dodati svog guarda. 'guards'

    => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'token', 'provider' => 'users', ], ],
  11. REGISTRACIJA CUSTOM GUARDA Takođe u config/auth.php treba dodati providera. 'providers'

    => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\User::class, ], ], 'providers' => [ 'users' => [ 'driver' => 'database', 'table' => 'users', ], ],
  12. LOGOVANJE Napravite neki controller koji će da rešava vašeg guarda.

    if (Auth::guard('account')->check() || Auth::guard('account')->attempt(['email' => $request->email, 'password' return redirect('/'); } else { return back()->with(['message' => 'Login failed'])->withInput(); }
  13. SAVET Kada nazivate guard-a, npr. 'account', dodajte i model sa

    migracijom za taj naziv guard-a, kako biste se lakše snalazili kad se nekad vratite na projekat.
  14. MODEL Ako dodajete model preko konzole morate malo da ga

    editujete da biste mogli da se ulogujete preko njega. use Illuminate\Database\Eloquent\Model; class Account extends Model use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable