2017-11-29 14 views
1

각도 2 응용 프로그램을 만들었습니다. 이제는 Windows 인증에 대한 요구 사항입니다.Windows를 사용하여 각도 응용 프로그램으로 로그인 인증

1) 조직 접근이 애플리케이션 내 모든 사용자 , 그는 로그인 프롬프트를 안하고 응용 프로그램에 직접로그인 할 수 있어야합니다.

2) 응용 프로그램에 액세스하려고 조직 내에서 어떤 특정 사용자이, 그는이) 관리자, 관리자처럼 특정 역할을 (취득해야하는 경우 직접 로그인 할 수. 응용 프로그램에 액세스하려고 조직 외부의 사용자 , 그는 로그인 프롬프트를 받아야하는 경우

3).

편집 : 백엔드 또한 중요한 역할을합니다. 나는 노드 js를 사용하여 휴식 API를 만들었고 표현했다. 그럼 this passport package 내 경우에 도움이 될 것입니까? 내 노드 js rest API에 passport.js를 구현했지만 이제는 각도 측면에서 그 점을 검증하는 방법을 설명합니다.

어떤 도움을 주시면 감사하겠습니다.

+0

당신은 백엔드가 무슨 상관이 있다고 생각하니 브라우저에서 JS가 백엔드없이 windows 인증과 상호 작용할 것이라고 생각합니까? 응용 프로그램에 브라우저 컨텍스트 외부의 시스템 수준 정보에 대한 액세스 권한을 부여하는 WinJS 또는 다른 것을 사용하고 있습니까? – shaunhusain

+0

@shaunhusain 질문을 수정했습니다 ... –

+1

예를 들어 링크 된 패키지가 궁극적으로 액티브 디렉토리를 활용해야 할 것 같은데 도움이 될 것 같은데요 어떻게 든이 데이터를 얻으려면 각도면이 인증 인 것처럼됩니다. 정말 다른 시스템을 통해 일어납니다. 모든 클라이언트 코드를 보호하려면 (일반적으로 데이터는 중요하지 않음) 노드 서버 구성에서이를 제한 할 수 있지만 일반적으로 클라이언트에서 인증을 허용할지 여부를 확인하고 서버가 요청을 거부하는지 확인하는 것이 좋습니다 사용자에 대한 AD 권한 검사를 기반으로합니다. – shaunhusain

답변

3

passport.js (클라이언트가 아닌 node.js에 구현 됨)을 사용하면 백엔드가 주요 통화 지점이됩니다. 많은 부하를 줄 수는 있지만 여전히 기본적인 변경이 필요합니다. 웹 서버.

IWA (Windows 통합 인증)을 여기에 구현하려는 경우 클라이언트가 사용자에게 어떤 역할을 알리 길 원한다면이 변수를 서버 측에서 반환하는 API를 만드는 것이 좋습니다. 그 응답의 (당신의 angular2가 사용하기 위해 그들을 데리고 어딘가에 저장하십시오).

예를 들어/authCheck return {role : [], username : "Username"}을 사용할 수 있으며 사용자가 인증되지 않은 경우 401을 반환합니다. 이렇게하면 통과 IWA가 실패하면 401 응답을 처리 할 수 ​​있습니다 사용자를 로그인 페이지로