안녕하세요, Windows Azure에서 처음 실행되는 ASP.NET MCV 3 애플리케이션을 구축하고 있습니다. 인증 및 권한 부여 계층 정보 액세스 제어 서비스를 사용하려고합니다. 기본 아이디어가있는 ACS에 대한 기사를 읽었지만 여전히 의문을 가지고 있습니다.Azure ACS - 모범 사례 구현
본인은 ACS를 사용하여 인증 과정을 하나 이상의 ID 제공 업체 (IP)에 아웃소싱한다는 점을 기본적으로 사용자 인증을 위해 다른 시스템 (즉, Microsoft Live ID)을 신뢰합니다. 기본 프로세스는 매우 간단합니다. 인증 단계에서 사용자를 "신뢰할 수있는"IP 중 하나로 리디렉션 (ACS가 수행)하여 유효한 토큰을 가진 사용자를 ACS로 리디렉션하고 결국 응용 프로그램으로 리디렉션합니다. 여기에 몇 가지 질문이 있습니다 ...
라이브 ID 계정을 가진 모든 사용자가 우리 응용 프로그램에 액세스 할 수 있기를 원하지 않기 때문에 해당 사용자의 유효성을 검사하고 사용자가 등록되어 있는지 확인하는 다른 프로세스가 필요합니다 우리의 응용 프로그램. 질문은 어디에 있습니까? ACS 또는 신청서에 기재되어 있습니다.?
나는 이것에 대한 아이디어가 있지만 올바른 방법인지는 모르겠다. 등록 단계에서 시스템 (우리의 웹 앱)은 사용자에게 어떤 IP (즉, 라이브 ID, 페이스 북 및 우리의 응용 프로그램). 그는 응용 프로그램에서 자신을 인증하는 데 사용하려고합니다. 그런 다음 사용자는 IP 시스템에서 인증 과정을 거치며 돌아올 때 사용자 이름 (IP 사용자 이름)을 DB에 저장합니다. 다음에는 인증 단계에서 해당 사용자가 우리 시스템에 등록되어 있는지 확인할 수 있습니다.
위의 이론이 맞다면 이는 앱에 있음을 의미합니다. 우리는 우리의 앱을 선택한 IP와 사용자로부터 오는 사용자 이름을 저장하기 위해 회원 공급자를 구축해야합니다. 한모금. 맞습니까? 위의 프로세스를 설계하는 가장 좋은 방법은 무엇입니까?
이제 권한 부여 및 "역할"에 대해 설명합니다. ACS와는 어떻게 작동합니까? ACS는 사용자별로 여러 역할을 관리합니까?
ACS를 사용하면 단일 사용자가 아닌 IP와 관련된 "규칙 그룹"을 여러 개 만들 수 있습니다. 이것이 올바른 경우 응용 프로그램에서 역할에 속한 사용자를 어떻게 관리합니까? 예를 들어 우리는 여러 역할을 가지고 있고 사용자는 그 역할과 연관 될 수 있습니다. ASC를 사용하여 관리 할 수 있습니까?
마지막 질문은 다음과 같습니다. ACS 자체가 전체 인증 및 권한 부여 프로세스를 다루고 있습니까? 여전히 .net 멤버 자격 공급자를 사용해야합니까? 요구 사항을 충족시키기 위해 가장 좋은 방법은 무엇입니까?
귀하의 기여에 대해 감사드립니다.
앤드류 귀하의 답변에 많은 감사드립니다. 따라서 ACS의 역할에 대해서는 정확합니다. 기본적으로 .net 멤버 자격 공급자 (UsersInRoles)에서 할 수있는 것처럼 사용자를 역할에 연결할 수는 없지만 IP를 기반으로 역할을 연결할 수 있습니다. 등록 단계는 어떻게됩니까? 인증 단계에서 사용자 (고객의 일부로서)를 인식하기 위해 우리는 데이터베이스에 무엇을 저장해야합니까? – Francesco
아니, 내가 말하는 것은 ** 사용자가 ACS를 사용하여 역할에 연결할 수 있다는 것입니다. 나는 이것을 커버하기 위해 위의 나의 응답을 확장했다. –