2017-10-13 11 views
2

나는 각도에 완전히 새로운 오전, 나는 사용자가 로그인하지 않는 한 '대시 보드'페이지에 대한 액세스가 금지 된 튜토리얼을보고 있었다각도 안전을 통한 승인입니까?

코드는 다음과 같은 :.

$routeProvider.when('/dashboard', { 
    resolve: { 
     check: function($location, user){ 
      if(!user.isUserLoggedIn()){ 
       $location.path('/404'); 
      } 
     } 
    } 
    templateUrl: './dashboard.html', 
    controller: 'dashboardCtrl' 
}) 

무엇 사용자가 위의 if 문을 변경하지 못하도록합니다. (정확하게 알고 있으면 모든 각도 코드가 사용자에게 표시됨) if(false){...}으로 이동하여 대시 보드 페이지에 대한 액세스 권한을 얻지 못하게합니까?

나는 코드가 일반적으로 축소되어 있지만 사용자가 변경 방법을 찾지 못하도록한다는 것을 알고있다.

답변

1

사용자가 축소 되어도 클라이언트에서 JavaScript 코드를 변경할 수 없도록하는 것은 없습니다.

사용자가 백엔드의 보호 된 리소스에 액세스하지 못하게해야합니다.

+1

Angular의 일반적인 원리입니다. – Sebastian

+0

위의 코드는 쓸모 없습니까? 사용자가 원하지 않는 동작을하지 않도록하기 위해 서버 측에 동일한 로직을 구현해야한다면 Angular를 사용해야 할 것입니다 (인증과 관련해서가 아니라 Angular 컨트롤러에 포함 된 다른 모든 동작). – Marko

+0

@Marko 애플리케이션이 어떻게 동작해야하는지 정의하기 때문에 그렇게하지 않습니다. 프론트 엔드에서 일어날 수있는 일을 막기 위해 할 수있는 일은 아무 것도 없기 때문에 애플리케이션 백엔드에서 모든 중요한 애플리케이션 검사를 수행해야합니다. – shime