2011-04-06 2 views
0

기술 ASP.NET, VB.NET 2.0 (곧 4.0)ASP.NET VB.NET 원격 로그인 포털 설정

개요 나는 로그인/인증 포털을 쓰고 있어요 , 그래서 웹 응용 프로그램이이를 사용하여 사용자를 로그인 한 다음 자격 증명을 사용하여 응용 프로그램을 사용할 수 있습니다.

로그인 포털은 별도의 응용 프로그램으로, 처음에는 익스트라 넷 및 특정 응용 프로그램의 인트라넷을 통해서만 사용할 수 있습니다. 미래의 앱은 웹을 통해 인증해야합니다 (별도의 인스턴스로 구현하기가 편리함). 기본적으로 다른 개별 응용 프로그램이이 포털을 통해 사용자를 인증 할 수 있기를 원합니다.

그래서 ...

  1. 사용자가 응용 프로그램의 웹 URL로 이동 (즉 www.application.com/http://apps/application - 인트라넷)와 클릭 "로그인".
  2. 사용자의 브라우저는 문자열 www.loginportal.com/login.aspx?url=www.application.com/login.aspx (또는 다른 페이지)과 함께 포털 응용 프로그램으로 리디렉션됩니다.
  3. 사용자는 자격 증명 (사용자 이름, 암호)을 입력하고 "로그인"버튼을 클릭합니다.
  4. 브라우저가 URL (www.applications.com/default.aspx 또는 login.aspx)로 다시 리디렉션되고 인증되고 로그인됩니다. 앱을 사용할 수 있습니다.

내가 자체가 정렬 된 인증을 가지고 있고, dll을 통해 로컬 응용 프로그램에서 클래스 라이브러리로 구현됩니다 완료. (다른 도메인 수) 포털 URL에 1. 포스트 데이터 - :

필요 그래서 나는 기본적으로, 방법은 알고 있어야합니다. 2. 게시물이있는 브라우저를 리디렉션하십시오. 3. 인증이 안전하고 쉽게 해킹 할 수 없는지 확인하십시오 (urlencode 및 htmlencode 등 사용 방법은 알고 있습니다). 도메인간에 데이터를 게시 할 때의 영향에 대해서는 확실하지 않습니다.

크게 감사합니다 어떤 도움 ...

건배, 던컨.

답변

0

심각하게 힘든 내용입니다. 그것이 나라면, 나는 크게 Windows Identity Foundation에 의지하고 싶습니다. 나는 그것이이 시나리오를 지원할 수 있다고 믿는다. (실제로 그것을하지 않았고, 내 회사의 다른 누군가가 그것을 반대하고있다.)

0

OK, 그래서 이것은 내가 사용하여 종료 된 솔루션입니다 :

을 원래 응용 프로그램에서 (인증을 필요로하는 한, 위의 1 단계) 내 로그인 포털로 사용자를 리디렉션, 원래의 URL을 포함 get 매개 변수로. 사용자가 세부 정보, 사용자 이름 및 암호를 입력합니다.

다음으로 서버 측 코드가이를 인증하고 새 페이지로 리디렉션합니다. 여기서 새 페이지로 리다이렉트합니다. 여기서 요청 날짜 시간 (보안 용)과 함께 html 형식을 보내고 암호화 된 문자열 (날짜 시간 포함 요청)을 원래 양식으로 다시 보내고 싶습니다.

또한 양식 게시로 원본 URL로 데이터를 보내는 JavaScript 게시 메소드를 추가합니다. 두 클래스 모두에서 같은 클래스 라이브러리를 사용하기 때문에 동일한 메소드를 사용하여 데이터를 암호화하고 해독 할 수 있으며 원래 요청한 응용 프로그램에는 요청의 datetime을 확인할 수있는 기능을 포함하여 모든 사용자 데이터가 있습니다 (집합 인증 및 사이의 시간의 양, 원래의 응용 프로그램에 의해 따기 이러한 내에 있는지 확인하고 5 분 말한다.

그리고 작업 수행. 사람이 코드를 원하는 경우

, 난 그냥 돈, 그것을 제공 할 수있다 ' 내가 그걸 게시 할거라 생각하면 그 순간 나와 함께있어.

가장 우아한 해결책은 아니지만 작동하며 안전하기 때문에 즐겁다. :).