| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <?php
- namespace App\Http\Controllers\Auth;
- use App\Components\AsyncResponse;
- use App\Http\Controllers\Controller;
- use App\User;
- use Illuminate\Auth\Events\PasswordReset;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Support\Facades\Hash;
- use Illuminate\Support\Str;
- class PasswordController extends Controller
- {
- use AsyncResponse;
- /**
- * Where to redirect users after resetting their password.
- *
- * @var string
- */
- protected $redirectTo = '/home';
- /**
- * Create a new controller instance.
- *
- * @return void
- */
- public function __construct()
- {
- $this->middleware('auth');
- }
- public function change()
- {
- return view('auth.passwords.change');
- }
- public function update(/*Request $request*/)
- {
- /** @var User|\stdClass $user */
- $user=Auth::user();
- if (!$user)$this->error("登录过期,请重新登录");
- if (!Hash::check(\request("old"),$user->password))$this->error("旧密码输入有误");
- if (Hash::check(\request("pwd"),$user->password))$this->error("新密码不得与旧密码相同");
- $user->update(["password" => Hash::make(\request("pwd"))]);
- $this->success();
- /*$request->validate($this->rules(), $this->validationErrorMessages());
- $user->password = Hash::make($request->input('password'));
- $user->setRememberToken(Str::random(60));
- $user->save();
- event(new PasswordReset($user));
- Auth::guard()->login($user);
- return view('auth.passwords.changed');*/
- }
- protected function rules()
- {
- return [
- 'old_password' => ['required',function($attr,$val,$fail){
- $oldPwd=Auth::user()['password'];
- if(!Hash::check($val,$oldPwd)){
- $fail('旧密码输入不匹配');
- }
- }],
- 'password' => 'required|confirmed|min:6',
- ];
- }
- /**
- * Get the password reset validation error messages.
- *
- * @return array
- */
- protected function validationErrorMessages()
- {
- return [
- 'old_password.required'=>'请输入正确的旧密码',
- 'password.required'=>'不得为空',
- 'password.min'=>'密码至少要输入 :min 位或以上',
- 'password.confirmed'=>'两次密码必须一致'
- ];
- }
- }
|