레벨: 암호 재설정
13414 단어 LaravelpasswordReset
참고 자료
[laravel] 메일(gmail) 오류로 발송할 수 없는 문제
Laravel 암호 변경 메일의 텍스트 디자인 재설정
Laravel 5.6에서 검증 등 오류 정보를 일본어로 만드는 방법
laravel-resources-lang-ja
레벨 5.6 암호 재설정
어떻게 php-Laravel58에서 사용자 정의 PasswordbrokersendResetLink() 방법을 확장하거나 만듭니까?
.env
//メール送信設定
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME={address_id}@gmail.com
MAIL_PASSWORD={mail_pass}
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS={email_address}
MAIL_FROM_NAME={name}
여기까지는 아래 화면에서 비밀번호 리셋 메일을 보낼 수 있습니다.암호 재설정 메일 템플릿 보기
resource/views/mail/passwordreset.blade.php
//参考サイト様より
<!DOCTYPE html>
<html lang="ja">
<style>
body {
background-color: #fffacd;
}
h1 {
font-size: 16px;
color: #ff6666;
}
#button {
width: 200px;
text-align: center;
}
#button a {
padding: 10px 20px;
display: block;
border: 1px solid #2a88bd;
background-color: #FFFFFF;
color: #2a88bd;
text-decoration: none;
box-shadow: 2px 2px 3px #f5deb3;
}
#button a:hover {
background-color: #2a88bd;
color: #FFFFFF;
}
</style>
<body>
<h1>
パスワードリセット
</h1>
<p>
以下のボタンを押下し、パスワードリセットの手続きを行ってください。
</p>
<p id="button">
<a href="{{$reset_url}}">パスワードリセット</a>
</p>
</body>
</html>
상속 알림 클래스의 암호 재설정 클래스 만들기
$ php artisan make:notification PasswordResetNotification
app/Notification/PasswordResetNotification.php//追加
public $token;
protected $title = 'パスワードリセット 通知';
//変更
public function __construct($token)
{
$this->token = $token;
}
public function toMail($notifiable)
{
return (new MailMessage)
->subject($this->title)
->view('mail.passwordreset',
[
'reset_url' => url('password/reset', $this->token),
]);
}
생성된 PasswordResetNotification 클래스를 사용하기 위해
app/User.php
//追加
use App\Notifications\PasswordResetNotification;
//メソッドのオーバーライド
public function sendPasswordResetNotification($token)
{
$this->notify(new PasswordResetNotification($token));
}
이제 비밀번호를 다시 설정할 수 있습니다.사용자 정의
만료 날짜 설정 변경
config/auth.php
//expireオプションで設定
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 30, // <- ココ
],
],
비밀번호 재설정 후
app/Http/Controller/Auth/ResetPasswordController.php
//プロパティを変更
protected $redirectTo = '/home';
플래시 일본어
resource/lang/ja/password.php
<?php
return [
'password' => 'パスワードは6文字以上にして、確認用入力欄と一致させてください。',
'reset' => 'パスワードは再設定されました!',
'sent' => 'パスワード再設定用のURLをメールで送りました。',
'token' => 'パスワード再設定用のトークンが不正です。',
'user' => "メールアドレスに一致するユーザーが存在しません。",
];
메일 주소를 찾을 수 없어도 같은 메시지를 출력합니다
app/Http/Controller/Auth/ForgetPasswordController.php
//追加
use Illuminate\Http\Request;
//オーバーライド
public function sendResetLinkEmail(Request $request)
{
$this->validateEmail($request);
$response = $this->broker()->sendResetLink(
$request->only('email')
);
return back()->with('status', 'パスワード再設定用のURLをメールで送りました。');
}
LGTM 제발!재고할 때 부탁해요!
동기 향상!
Reference
이 문제에 관하여(레벨: 암호 재설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Fell/items/3047191de96c97c46eae텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)