라라벨 제트스트림의 보안 기능은 사용자가 오른쪽 상단의 사용자 프로필 탐색 드롭다운 메뉴를 사용하여 접근할 수 있습니다. 이 대시보드 내에서, 제트스트림은 사용자가 계정과 관련된 비밀번호를 업데이트할 수 있도록 뷰를 구조화합니다.
Actions
대부분의 제트스트림 기능과 마찬가지로, 기능을 구현하는 데 사용되는 기본 로직은 해당하는 액션 클래스를 수정함으로써 사용자 정의될 수 있습니다.
사용자가 비밀번호를 업데이트할 때 `App\Actions\Fortify\UpdateUserPassword` 클래스가 호출됩니다. 이 액션은 입력을 검증하고 사용자의 비밀번호를 업데이트하는 책임이 있습니다.
이 액션은 비밀번호에 적용될 검증 규칙을 결정하기 위해 `App\Actions\Fortify\PasswordValidationRules` 트레이트를 사용합니다. 이 트레이트를 사용자 정의하면 사용자가 등록, 재설정 또는 비밀번호를 업데이트할 때 비밀번호에 적용되는 검증 규칙에 일관되게 영향을 미칩니다.
Password Validation Rules
알 수 있듯이, `App\Actions\Fortify\PasswordValidationRules` 트레이트는 사용자 정의 `Laravel\Fortify\Rules\Password` 검증 규칙 객체를 사용합니다. 이 객체를 사용하면 애플리케이션의 비밀번호 요구 사항을 쉽게 사용자 정의할 수 있습니다. 기본적으로 이 규칙은 최소 8자의 비밀번호를 요구합니다. 그러나 다음 메소드를 사용하여 비밀번호 요구 사항을 사용자 정의할 수 있습니다:
use Laravel\Fortify\Rules\Password;
// Require at least 10 characters...
(new Password)->length(10)
// Require at least one uppercase character...
(new Password)->requireUppercase()
// Require at least one numeric character...
(new Password)->requireNumeric()
// Require at least one special character...
(new Password)->requireSpecialCharacter()
물론, 이 메소드들은 애플리케이션의 비밀번호 검증 규칙을 정의하기 위해 연쇄적으로 사용될 수 있습니다:
(new Password)->length(10)->requireSpecialCharacter()
Views/Pages
일반적으로, 이러한 기능에 대한 뷰와 페이지는 이미 기능이 완성되어 있어 사용자 정의가 필요하지 않습니다. 그러나 이 페이지에 작은 프레젠테이션 조정을 해야 할 경우를 대비하여 위치는 아래에 설명되어 있습니다.
Livewire 스택을 사용하는 경우, 비밀번호 업데이트 뷰는 `resources/views/profile/update-password-form.blade.php` Blade 템플릿을 사용하여 표시됩니다. Inertia 스택을 사용하는 경우, 이 뷰는 `resources/js/Pages/Profile/UpdatePasswordForm.vue` 템플릿을 사용하여 표시됩니다.
'프로그래밍 > Web' 카테고리의 다른 글
Laravel Jetstream Two Factor Authentication (0) | 2024.01.08 |
---|---|
Laravel Jetstream Password Confirmation (0) | 2024.01.08 |
Laravel Jetstream Profile Management (0) | 2024.01.06 |
Laravel Jetstream Registration (1) | 2024.01.06 |
Laravel Jetstream Authentication (0) | 2024.01.06 |
댓글