2016-08-30 5 views
-1

나는 ASP.net에서 만든 Azure에서 호스팅되는 웹 응용 프로그램을 가지고 있습니다.이 응용 프로그램에는 사용자 로그인 페이지와 별도의 관리 로그인 페이지가 있습니다. 사용되는 데이터베이스는 MySQL입니다. 최근에 클라이언트에 의해 새로운 로그인 요구 사항이 추가되었습니다. 관리자 로그인 페이지는 모든 컴퓨터가 액세스 할 수있는 사용자 로그인 페이지와는 달리 클라이언트가 할당 할 단일 시스템에서만 액세스 할 수 있어야합니다.단일 컴퓨터에서 Azure 웹 사이트에 액세스

한 가지 해결책은 클라이언트 컴퓨터의 MAC 주소를 가져 와서 일부 데이터베이스 항목과 비교하는 것이었지만 많은 검색을 한 후 클라이언트 컴퓨터의 MAC 주소를 얻는 방법이 없다는 것을 발견했습니다. 클라이언트와 서버가 동일한 서브넷에있는 경우 하지만 그건 내 사건이 아니야. 웹 앱이 푸른 색으로 호스팅되기 때문이며, 클라이언트 머신은 세계 어느 곳에 나있을 수있다.

관리 클라이언트 컴퓨터가 동적 IP 주소로되어 있고 변경할 수 있기 때문에 IP 주소를 사용하여 관리 포털에 대한 액세스를 제한 할 수 없습니다. 또한 사용자 로그인을 위해 다른 사용자 시스템의 사용을 제한하기 때문에 SSL 인증서를 사용할 수 없습니다.

워크 플로우는 다음과 같을 것입니다. 관리자는 머신의 브라우저에서 페이지를 열고 로그인 정보를 제공 한 후 해당 페이지에 액세스하는 시스템이 관리 포털에 액세스 할 수 있는지 여부를 확인합니다 . 그래서, 내가 이것을 달성 할 수있는 방법이 있습니까? 하나의 컴퓨터에서만 관리자 로그인이 가능합니까?

+0

클라이언트 시스템을 식별하는 데는 여러 가지 방법이 있습니다. 예를 들어 클라이언트 인증서 나 그 IP 주소를 사용할 수 있습니다. [ask]를 읽고 연구를 공유하십시오. – CodeCaster

+0

감사합니다. 이에 관한 추가 정보를 업데이트했습니다. 또한 IP 주소를 사용하여 관리 포털에 대한 액세스를 제한 할 수 없습니다. 관리 클라이언트 시스템이 동적 IP 주소에 있고 변경 될 수 있기 때문입니다. 또한 사용자 로그인을 위해 다른 사용자 시스템의 사용을 제한하기 때문에 SSL 인증서를 사용할 수 없습니다. –

답변

0

해결책은 관리자의 DB 항목 일 수 있습니다. 관리자가 Admin Portal에 로그인하면 Admin의 항목을 "로그인 한 상태"로 업데이트합니다. 그런 다음 관리자가 이미 로그인 한 경우 모든 로그인을 확인할 수 있습니다.

+0

이것을 구현하더라도 관리자는 처음 웹 주소와 로그인 정보를 사용하여 모든 컴퓨터를 통해 로그인 할 수 있습니다. 내 문제는 하나의 컴퓨터에서만 수행되도록 관리자 로그인을 제한하는 것입니다. –

+0

아키텍처를 설정하는 방법에 따라 로그인 양식에 관리자 로그인에 실패했음을 알려야합니다. 관리자로 로그인 한 사용자가 이미 있기 때문입니다. – wuerzelchen

+0

예, 이것은 한 번 로그인 할 수있는 관리자를 제한하며 해당 세션이 진행되는 동안 관리자가 다시 로그인 할 수 없지만 내 문제는 한 대의 컴퓨터에서만 로그인하도록 관리자를 제한하는 것이 었습니다. 여러 번 또는 여러 개의 브라우저. –

관련 문제