69호. 라라벨 6.2.0 출시 free

2019-10-10

6.2 버전이 출시되었습니다.


6.1 나온지 열흘 정도 밖에 안된거 같은데, 정말 숨가쁘네요 ㅎㅎ


6.2 에서는 패스워드 확인 기능과 null 로깅 채널이 추가되었습니다.


1. 패스워드 확인


이 기능은 특정 페이지에 진입하려고 할 때 패스워드를 한 번 더 확인하는 기능입니다. 사용법은 간단합니다. 보호하고자 하는 라우트에 \Illuminate\Auth\Middleware\RequirePassword 미들웨어를 적용하면 됩니다.


Step 1. 미들웨어 지정


// web.php
// 미들웨어 클래스를 직접 지정하거나
Route::get('/some-sensitive', function(){
return view('sesitive-page');
})->middleware(\Illuminate\Auth\Middleware\RequirePassword::class);

// 혹은 아래와 같이 할 수 있습니다.
Route::get('/some-sensitive', function(){
return view('sesitive-page');
})->middleware('password.confirm');

App\Http\Kernel의 라우트 미들웨어 항목에서 \Illuminate\Auth\Middleware\RequirePasswordpassword.confirm으로 등록된 것을 확인하실 수 있습니다.


protected $routeMiddleware = [
...
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,

Step 2. 뷰 구현


패스워드 확인하는 화면은 기본으로 제공되지 않습니다. 그래서 미들웨어만 적용해두면 해당 라우트를 방문할 때 아래와 같이 에러가 발생합니다.



auth.passwords.confirm 뷰 파일을 찾지 못해서 발생하는 에러입니다.


resources/views/auth/passowrds/confirm.blade.php를 만들어주어야 합니다. 사용자가 입력하는 패스워드를 password 항목에 담아 route('password.confirm')로 POST 전송하는 폼이 포함되도록 작성하시면 됩니다.


<form method="POST" action="{{ route('password.confirm') }}">
<input type="password" name="password" required>

vendor/laravel/ui/src/Auth/bootstrap-stubs/auth/passwords/confirm.stub 파일을 참고하시거나 https://github.com/laravel/ui/blob/35837d4df86ea145b86953666c5ceded46428013/src/Auth/bootstrap-stubs/auth/passwords/confirm.stub를 참고하세요.


2. null 로깅 채널


이 기능은 테스트 속도를 높이기 위해 제안된 것입니다.


Monolog의 NullHandler를 이용해서 로깅을 비활성화합니다.


아래는 Monolog 매뉴얼에 있는 NullHandler에 대한 설명입니다.



"Any record it can handle will be thrown away. This can be used to put on top of an existing handler stack to disable it temporarily."

처리할 수 있는 모든 기록이 버려짐. 기존 핸들러 앞에 두어서 다른 핸들러를 일시적으로 무력화하는데 사용할 수 있음



6.2부터는 phpunit.xml에 다음과 같이 설정해서 테스트 속도를 높입시다!


<php>
...
<server name="LOG_CHANNEL" value="none" data-tomark-pass />
</php>

.env.testingLOG_CHANNLE=none으로 설정하셔도 됩니다.


1일 1식 라라벨 59호

2019년 10월 10일

유료 구독자 전용 레터입니다.

한 달 1만원으로 매일 라라벨 관련 메일 받아보시고 과거 메일도 열람하세요. 일반 구독으로 공개글만 받아보실 수도 있습니다.

구독하기 버튼을 눌러주시면 구독과 동시에 xly에도 가입됩니다.

이현석

바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서를 쓰고, 클린 아키텍처 인 PHP를 번역했습니다. 2020년에 출간될 Laravel Up & Running 2nd Edition을 번역하고 있습니다.