Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d9fb31d

Browse files
author
mr.z
committed
后台密码设置
1 parent bf67362 commit d9fb31d

File tree

10 files changed

+116
-3
lines changed

10 files changed

+116
-3
lines changed

resources/views/index/index.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,6 @@
113113
</div>
114114
</div>
115115

116-
</div>
116+
</div>
117117
<!-- END CONTENT BODY -->
118118
@stop

resources/views/public/layout.blade.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
</div>
6767
<div class="modal-body">
6868
<form id="chPwdForm" class="form-horizontal">
69+
{{ csrf_field() }}
6970
<div class="form-body">
7071
<div class="form-group">
7172
<div class="col-md-12">

router/routes.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,23 @@
11
<?php
22

3-
3+
use Illuminate\Routing\Router;
4+
Route::group([
5+
'prefix'=>strtolower('Backend' ),
6+
'namespace' => 'Smart\\Controllers\\Backend' ,
7+
'middleware'=> ['web']
8+
],function(Router $router ){
9+
$router->group(['prefix' => 'auth','middleware' => ['auth.resetPassword']],function($router){
10+
$router->post('changepassword' , 'AuthController@changePassword');
11+
});
12+
13+
});
414

515
Route::group(['prefix' => 'backend/index', 'namespace' => 'Smart\Controllers\Backend', 'middleware' => ['web']], function () {
616
Route::get('index', 'Index@index');
717
});
818

19+
20+
921
//系统功能
1022
Route::group(['prefix' => 'backend/sysfunc', 'namespace' => 'Smart\Controllers\Backend', 'middleware' => ['web']], function () {
1123

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?php
2+
/**
3+
* Created by PhpStorm.
4+
* User: MR.Z < [email protected] >
5+
* Date: 2017/9/16
6+
* Time: 13:31
7+
*/
8+
9+
namespace Smart\Controllers\Backend;
10+
11+
use Facades\Smart\Service\ServiceManager;
12+
use Illuminate\Http\Request;
13+
use Smart\Service\SysUserService;
14+
use Illuminate\Foundation\Auth\ResetsPasswords;
15+
use Illuminate\Support\Facades\Auth;
16+
17+
class AuthController extends Backend {
18+
19+
use ResetsPasswords;
20+
21+
protected $autoload_service = 0;
22+
23+
public function __construct(Request $request){
24+
parent::__construct($request);
25+
$this->service = ServiceManager::make( SysUserService::class );
26+
27+
}
28+
29+
public function changePassword(Request $request){
30+
$password = $request->password;
31+
$id = Auth::id();
32+
$result = $this->service->resetPwd($id, $password);
33+
34+
return json($result);
35+
}
36+
}

src/Controllers/Backend/Backend.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ public function __construct(Request $request)
3131
public function _init($pageTitle = '新页面'){
3232

3333
parent::_init($pageTitle);
34+
35+
$this->_addParam( 'uri', [
36+
'chPwd' => full_uri( 'backend/auth/changepassword' ),
37+
]);
3438
$SysFuncService = ServiceManager::make(SysFuncService::class );
3539

3640

src/Controllers/Backend/Index.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ class Index extends Backend {
1717

1818
public function __construct(Request $request) {
1919
parent::__construct($request);
20+
21+
$jsCode = <<<EOF
22+
{$this->controller}.init();
23+
EOF;
24+
25+
$this->_addJsCode($jsCode);
2026

2127
}
2228

@@ -43,7 +49,13 @@ public function index(Request $request) {
4349
$this->_addData('stat', $stat);
4450
$this->_addParam('charts', $charts);
4551

46-
return $this->_displayWithLayout('backend::index/index');
52+
$this->_addParam( 'uri', [
53+
54+
'chPwd' => full_uri( 'backend/auth/changepassword' ),
55+
56+
] );
57+
58+
return $this->_displayWithLayout('backend::index.index');
4759

4860
}
4961

src/Middleware/Cors.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ class Cors
2020
public function handle($request, Closure $next)
2121
{
2222
$response = $next($request);
23+
2324
$response->header('Access-Control-Allow-Origin', '*');
2425
$response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, Accept, multipart/form-data, application/json');
2526
$response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS');

src/Middleware/ResetPassword.php

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?php
2+
3+
namespace Smart\Middleware;
4+
5+
use Closure;
6+
use Illuminate\Support\Facades\Auth;
7+
use Illuminate\Support\Facades\Hash;
8+
9+
class ResetPassword
10+
{
11+
/**
12+
* Handle an incoming request.
13+
*
14+
* @param \Illuminate\Http\Request $request
15+
* @param \Closure $next
16+
* @return mixed
17+
*/
18+
19+
20+
21+
public function handle($request, Closure $next)
22+
{
23+
$user = $request->user();
24+
25+
if($request->pwd != $request->pwdConfirm){
26+
27+
return response()->json(ajax_arr('两次输入的新密码不一致', 500));
28+
}
29+
$oldPwd = Hash::make($request->oldPwd);
30+
31+
if(!Auth::guard()->attempt(
32+
['username' => $request->user()->username , 'email' => $request->user()->username, 'password' => $request->oldPwd]
33+
)){
34+
35+
return response()->json(ajax_arr('原密码错误', 500));
36+
}
37+
$request->offsetSet('password', $request->pwd);
38+
39+
return $next($request);
40+
41+
}
42+
43+
44+
}

src/Service/SysUserService.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,8 @@ public function resetPwd($id, $pwd) {
333333
}
334334
}
335335

336+
337+
336338
public function setUser($id) {
337339
self::instance()->user = self::instance()->getModel()->find($id);
338340
}

src/SmartServiceProvider.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class SmartServiceProvider extends ServiceProvider {
2424
'auth.token' => \Smart\Middleware\CheckToken::class,
2525
'auth.permission' => \Smart\Middleware\Permission::class,
2626
'auth.cors' =>\Smart\Middleware\Cors::class,
27+
'auth.resetPassword' => \Smart\Middleware\ResetPassword::class,
2728
];
2829

2930
public function boot() {

0 commit comments

Comments
 (0)