반응형
컨텐츠를 수정할 Controller를 작성한 후
Route::post('/contents-video-sort', 'ContentsController@changeLectureOrder');
프론트에서 호출하였을 때
axios.post("/contents-video-sort",
{list : this.list.data})
.then(...)
아래와 같이 302 redirect error 가 나면서 호출이 되지 않는 문제가 발생하였다.
찾아보니 CSRF 문제일 수 있다고 했다.
https://stackoverflow.com/questions/42426859/laravel-ajax-post-request-does-not-work-302-found
https://laravel.com/docs/5.5/csrf
하지만 헤더에 정상적으로 CSRF Token을 전달하고 있었다.
내 경우에는 middleware 문제였는데
로그인한 사용자의 권한을 관리하기 위해서
authority 라는 middleware에서 권한별로 설정된 gnb에 명시되지 않은 route에 접근할 경우
접근을 차단하고 있었다.
gnb는 노출되는 메뉴만을 관리하는데 왜 이렇게 했는지는 나도 모르겠으나..
어쨌든...컨트롤러에서 middleware->except로 해당 함수 호출 시 미들웨어 타지 않도록 하는 멍청한 방법으로 해결했다.
$this->middleware('authority')->except('changLectureOrder');
반응형
'개발 > laravel' 카테고리의 다른 글
라라벨에서 커스텀 helper 등록하기 (2) | 2024.10.07 |
---|---|
Laravel의 whereJsonContains 메서드: JSON 데이터 필터링의 강력한 도구 (3) | 2024.10.07 |
라라벨 Sail 설정 가이드 (0) | 2023.10.10 |
[Laravel] log permission denied (0) | 2023.07.11 |
[laravel 5.5/QueryBuilder] SubQuery (0) | 2022.08.30 |