2010-06-14 3 views
0

누구든지 가지고있는 것이 좋습니다.asp.net 양식 응용 프로그램에서 호출 된 내 MVC 응용 프로그램에서 인증을 제거하는 방법

양식 인증을 사용하고 ID 가장을 켠 기존 asp.net 양식 응용 프로그램이 있습니다.

응용 프로그램에는 asp.net MVC 응용 프로그램에서 별도로 개발하고 싶은 설문지 링크가 있지만 사용자가 링크를 클릭하여 사용자 이름과 암호를 묻는 메시지를 표시하지 않게하려면 설문지 작성을 원활하게 시작할 수 있기를 바랍니다.

어떻게 든 .net 앱에서 다른 인증으로 인증을 전송할 수있는 방법이 있습니까? 나는 UserRole과 같은 것을 전달할 수 있기를 원합니다.

이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

답변

1

두 응용 프로그램에서 동일한 MachineKey를 사용하고 MVC 응용 프로그램이 동일한 서버에있는 경우 인증 쿠키를 다시 사용하고 단순히 로그인 한 것으로 간주합니다.이 MSDN article은 MachineKey 구성, 특히 섹션 sharing authentication tickets across applications에 있습니다. 두 응용 프로그램이 동일한 서버에 있다고 가정합니다. 그들이 다른 서버에 있다면, 사용자가있는 원래 서버로 웹 호출을 통해 원격 시스템에서 사용할 수있는 URL에 대한 단일 사용 티켓을 생성하는 등의 다른 메커니즘을 조사해야합니다. central authentication system의 전체 구현이 아니라 해당 행을 따라 구현해야 할 수도 있습니다. 중간자 공격 (man-in-the-middle attack)을 피하기 위해 SSL을 사용하여 관련 비트를 암호화하고 있는지 확인하십시오.

+0

감사합니다 tvanfosson, 나는 쉽게 MVC 애플 리케이션이 동일한 서버에 있어야한다는 것을 압니다. 문제가되지 않아야합니다. 당신이 제안한 기사를 읽었습니다. 잘 작동해야합니다. 작업은 조금하지만, 일단 두 개의 키를 생성하면 작업을 수행해야합니다. –

1

Windows Identity Foundation (WIF)을 사용하면 싱글 사인온 (SSO)을 구현할 수 있습니다.

보안 토큰 서비스 (STS)라고하는 서비스 인 WIF에서는 클레임이있는 토큰을 발급합니다.이 토큰은 인증 된 사용자 (예 : 자신의 역할)에 대해 선언 할 수 있습니다. 앱에서 Page.User, Controller.Page 또는 Thread.Current.Principal 속성을 사용하여 사용자 클레임을 확인할 수 있습니다 (단, 간단히하기 위해 역할 클레임 만 사용하는 경우 IsInRole 메서드를 사용할 수 있음).

WIF의 SDK에 포함 된 VS 도구를 사용하여 쉽게 STS를 만들 수 있습니다. Forms 인증은 Web Forms 사이트가 아닌 STS에서 수행되며 두 사이트 모두 STS와의 신뢰 관계가 있어야합니다.

+0

감사합니다. Anero, STS를 확인해 보겠습니다. –

관련 문제