프런트엔드와 백엔드가 분리된 경우(프런트엔드와 백엔드 mv*) 프런트엔드는 인증 논리를 어떻게 처리하나요?
(mv*는 mvc, mtv, mvvm 등일 수 있습니다.)
백엔드:
으아악백엔드 컨트롤러/액션 및 기타 작업은 일반적으로 acl/rbac와 같은 인증 시스템을 사용하여 인증 결정을 내립니다.
질문은 다음과 같습니다.
Emberjs, Angularjs 등과 같은 프런트엔드 mv* 프레임워크는 인증 부분을 어떻게 처리합니까?
예를 들어 로그인하지 않은 경우(열람 중인 사용자) 기사가 10개 표시되고, 로그인한 경우 더 많은 콘텐츠를 볼 수 있습니다.
방법 1) 백엔드와 마찬가지로 별도의 인증 시스템/인증 로직을 사용하여 이를 처리하시겠습니까?
방법 2) 인증 로직 판단 결과를 json 데이터에 넣고 프론트엔드에서 직접 사용할 수 있나요?
으아악3) 특히 완전한 ember-data 클래스 ORM 구성 요소가 있는 경우 백엔드와 매우 유사한 프런트엔드 mvc 프레임워크인 Emberjs를 사용하면 프런트엔드 ember-data/모델이 필요합니까? 이미 백엔드와 매핑되었나요? 보안 문제의 인증 및 승인 부분은 어떻게 처리되나요?
高洛峰2017-05-15 17:05:17
제가 접한 프로젝트들은 "방법 2) 인증 로직 판단 결과를 json 데이터에 넣어서 프론트엔드로 돌려주는데, 프론트엔드에서 직접 사용하는 건가요? 즉, 백엔드에서 권한을 돌려준다는 건가요?" 사용자가 소유하고 프론트엔드에서 판단을 하는데, 이 경우 반환 결과가 변조되면 보안이 저하될 것 같은 느낌이 들지만, 이는 규칙 정의가 알려진 경우에만 가능합니다.