Skip to content

Commit 79ea98a

Browse files
committed
Finish login and logout
1 parent 0d47c03 commit 79ea98a

File tree

14 files changed

+12756
-17
lines changed

14 files changed

+12756
-17
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<?php
2+
3+
namespace App\Http\Controllers;
4+
5+
use Illuminate\Http\Request;
6+
7+
use App\Http\Requests;
8+
use App\Http\Controllers\Controller;
9+
10+
use Auth;
11+
12+
class SessionsController extends Controller
13+
{
14+
public function create()
15+
{
16+
return view('sessions.create');
17+
}
18+
19+
public function store(Request $request)
20+
{
21+
$this->validate($request, [
22+
'email' => 'required|email|max:255',
23+
'password' => 'required'
24+
]);
25+
26+
$credentials = [
27+
'email' => $request->email,
28+
'password' => $request->password,
29+
];
30+
31+
if (Auth::attempt($credentials, $request->has('remember'))) {
32+
session()->flash('success', '欢迎回来!');
33+
return redirect()->route('users.show', [Auth::user()]);
34+
} else {
35+
session()->flash('danger', '很抱歉,您的邮箱和密码不匹配');
36+
return redirect()->back();
37+
}
38+
}
39+
40+
public function destroy()
41+
{
42+
Auth::logout();
43+
session()->flash('success', '您已成功退出!');
44+
return redirect('login');
45+
}
46+
}

app/Http/Controllers/UsersController.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
use App\Models\User;
1111

12+
use Auth;
13+
1214
class UsersController extends Controller
1315
{
1416
public function create()
@@ -36,6 +38,7 @@ public function store(Request $request)
3638
'password' => $request->password,
3739
]);
3840

41+
Auth::login($user);
3942
session()->flash('success', '欢迎,您将在这里开启一段新的旅程~');
4043
return redirect()->route('users.show', [$user]);
4144
}

app/Http/routes.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,7 @@
66

77
get('signup', 'UsersController@create')->name('signup');
88
resource('users', 'UsersController');
9+
10+
get('login', 'SessionsController@create')->name('login');
11+
post('login', 'SessionsController@store')->name('login');
12+
delete('logout', 'SessionsController@destroy')->name('logout');

gulpfile.js

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
11
var elixir = require('laravel-elixir');
22

3-
/*
4-
|--------------------------------------------------------------------------
5-
| Elixir Asset Management
6-
|--------------------------------------------------------------------------
7-
|
8-
| Elixir provides a clean, fluent API for defining some basic Gulp tasks
9-
| for your Laravel application. By default, we are compiling the Sass
10-
| file for our application, as well as publishing vendor resources.
11-
|
12-
*/
13-
143
elixir(function(mix) {
15-
mix.sass('app.scss');
4+
mix.sass('app.scss')
5+
.browserify('app.js');
166
});

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
"gulp": "^3.8.8"
55
},
66
"dependencies": {
7-
"laravel-elixir": "^4.0.0",
8-
"bootstrap-sass": "^3.0.0"
7+
"bootstrap-sass": "^3.0.0",
8+
"jquery": "^3.1.1",
9+
"laravel-elixir": "^4.0.0"
910
}
1011
}

public/css/app.css

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/css/app.css.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)