다음으로 이번에 로그인 할 때 Potato Head 암호를 입력 해 봅시다.이 암호를 시도해보고 편집 해 볼 수 있습니다.이 암호를 업데이트하면 문제를 해결할 수 있습니다.
느낌표를 없애자.
제출하고 그것은 내 얼굴에 웃음의 끝에 구두점이 없습니다 업데이 트됩니다.
확인을 위해 업데이트에 적용 해 보겠습니다.
우리는 누군가가 무언가를 업데이트 할 수 있기를 바라지 않습니다. 단지 폼을 보는 것뿐만 아니라 실제로 업데이트를 수행하여 두 버전 모두를 보호하고 삭제하려는 것입니다.
지금은 누구나 할 수 있지만 서버를 다시 시작하자마자 새로 고칩니다.
현재 로그인하지 않은 상태에서 빨간색으로 다시 리디렉션하기 때문에 삭제 된 것을 클릭하면 즉시 여기로 다시 이동합니다.
그러면 다시 타이토의 머리를 할 것입니다.
암호 로그인.
지금 시도 하고이 하나를 삭제하면 잘 작동합니다.
그리고 이제 그는 또 다른 귀중한 캠프장을 잃어 버렸고 우리는 그들과 거의 놀 수 있습니다.
그래서 우리가 올바르게 설정 한 중간 단계입니다. 이제는 사용자가 로그인했는지 확인한 캠프장 소유권을 확인한 후 다시 리디렉션되지 않고 결국 다른 오류 메시지가 표시되어 사용자가 다음과 같은 메시지를 표시하게됩니다. 먼저 로그인 한 다음 로그인했는지 확인하십시오.
하지만 그들은 캠프장을 소유하고 있지 않습니다. 그러면 우리는 당신이 할 수있는 권한이 없거나 그런 것을 삭제할 수 없다는 다른 메시지를 갖게 될 것입니다. 그리고 중요한 라인은 바로 여기에 있습니다.
그래서 우리가 Doddie 과정을해야하기 때문에 캠프장 작성자 ID 도트가 같지 않으면 트리폴리 문화를 할 수 없습니다. 왜냐하면 이것이 문자열이고 이것이 객체 아이디어 몽구스 객체이기 때문에 문자열과 비교할 수 없으므로 원숭이와 함께 제공되는 equals 메소드에 내장되어 있습니다.
그런 다음 올바른 처리기 안에있는 코드가 무엇이든지간에 다음으로 넘어갑니다.
그래서 작동한다면 이것을 실행합니다.
우리가 이걸 실행합니다.
다음은.
또는이 경우 우리는 이것을 실행합니다.
다음은.
업데이트가 필요한 경우이를 실행합니다.
OK. 그래서 우리는 구할 것이다.
우리는해야 할 일이 하나 더 적습니다.
이 버튼을 숨기는 것이 좋습니다.
로그인하지 않으면 편집 삭제 버튼을 볼 수 없어야합니다.
꽤 많은 웹 사이트에는 그 종류의 권한을 가지고 있습니다. 무엇이든지 그 버튼을 보여줍니다.
당신이 뭔가를 할 수 있다고 생각하지만 그렇게 할 수 없다고 생각한다면 그것은 나쁜 사용자 경험 일뿐입니다.
그래서 우리는 그것을 숨기고 싶습니다. 우리가해야 할 일은 템플릿에 들어가서 쇼 템플릿입니다. 여기서 우리는이 두 개의 버튼을 여기에서 찾아야합니다.
그런 다음 if 문을 추가하고 빈 대괄호로 시작하는 빈 문을 작성하려고합니다.
그냥 그렇게 읽고 들여 쓰기 쉽게하기 위해 들여 쓰기 만하면 로그인 한 사용자가 쇼 페이지의 현재 캠프장을 소유하고 있는지 확인하는 것이 좋습니다.
우리는 미들웨어에서 우리가 본 것과 정확히 똑같은 코드를 추가 할 수 있습니다. 단, 약간 다를 것이지만 같은 아이디어 일 필요가 있습니다.
이것을 붙여 넣으면 템플릿에 캠프장을 찾지 않고 따라갈 수 있습니다.
우리는 캠프장 작성자 인 도트 ID 도트가 같다고 말합니다. 실제로 사용자 ID를 요청할 수있는 권한이 없지만 설치 한 현재 사용자가 있다는 것을 기억하십시오.
언제, 어디서 설정했는지 기억하지 못하면 간단히 보여 드리겠습니다.
우리의 아파트 안에 있어요.
예, 우리는 그것에 가서 당신이 바로 여기를 살펴 봅니다.
지역 정보를 읽으십시오.
현재 사용자는 사용자 요청이며 모든 단일 템플릿에 추가됩니다.
모든 경로는 템플릿에 현재 로그인 한 사용자와 동일한 현재 사용자를 사용할 수 있으므로 현재 사용자는 밑줄 ID를 사용합니다.
한번 해보 죠.
이제 if 문의 나머지 괄호를 추가해야합니다.
그리고 우리가 새로 고침하면.
당신은 우리에게 문제가 있다는 것을 알게되고 현재 일어나는 일은 현재 사용자가 없다는 것입니다.
따라서 현재 사용자로 로그인 한 사람이 없으므로 밑줄 ID에 문제가 있습니다.
따라서 먼저 확인할 것인지 확인하는 간단한 방법이 있습니다.
현재 사용자가 있습니까?
그때 그 사용자가 이것을 소유하는지 확인합시다.
그래서 오류를 방지합니다.
현재 사용자와 campground 제작자 ID가 현재 사용자의 ID와 같으면 false 일 경우이를 기억해야합니다.
따라서 현재 사용자가 비어있는 경우 정의되지 않은 것입니다.
거짓말 인 경우 우리는 AND 구문이 작동하는 방식이 양면을 요구한다는 점에서 나머지 부분으로 넘어 가지 않습니다.
그래서 단락입니다.
이것이 거짓이고 우리는 결코 이것을 평가하지 않지만 현재 사용자가 어떤 사용자 객체이라면 그것이 올바른 사용자인지의 여부를 위조하지 않는 것입니다.
이것은 사실이며 사용자가 실제로 캠프장을 소유하고 있는지 확인합니다.
그래서 우리가 다시 시도하면 새로 고침.
바로 지금 우리는 버튼을 보지 못한다. 그러나 만약 내가 Potato Head로 로그인하면 더 많은 정보를 얻을 수있다.
Sunset Lake라고 부르 자.
제출하고 모든 것은 여전히 ​​잘 작동합니다.
큰.
여기에 우리가 한 일을 요약 해 보겠습니다.
이 마지막 강의에서 가장 중요한 것은 인증과는 다른 인증에 초점을 두었습니다.
인증은 단지 자신이 말하는 사람인지 확인하기 위해 로그인하는 것입니다.
권한은 로그인 권한이있는 사용자가 할 수있는 권한이므로 다른 권한이나 보안 여유는 무엇이든 생각하고 싶어합니다.
그래서 우리의 경우 우리는 아무도 캠프장을 삭제하고 업데이트 할 수 없게되었습니다.
그러나 이제 캠프장을 소유 한 사용자 만 업데이트를 삭제할 수 있으며 마지막으로 버튼을 숨길 수있었습니다.
로그인했는지 여부에 따라 다릅니다.
그리고 우리는 추가 된 세 가지 경로를 보호했습니다. 바로 여기에 업데이트가 나타나고 삭제되거나 파괴됩니다.
그리고 그것은 우리가 지금 정의한 우리의 체크 캠프 소유권 미들웨어를 사용하고있었습니다. 단지이 파일의 맨 아래에 있습니다.
굉장해.
다음 강의에서는 댓글을 업데이트하고 댓글을 삭제할 수 있도록 댓글과 유사한 내용을 다루는 데 초점을 맞춘 다음 댓글을 소유 한 사람 만 댓글을 업데이트하거나 삭제할 수 있도록 권한 부여에 다시 집중할 것입니다.