2014-12-12 2 views
0

컨트롤러에서 작업에 대한 액세스를 제한하기 위해 문제가 발생했습니다 (wwww.mysite.com/callback/c1라고 가정 해 봅시다). 외부 ERP 시스템 만이이 컨트롤러에 액세스 할 수 있기를 바랍니다. ERP를 사용하면이 ERP 시스템에서 특정 이벤트가 발생할 때마다 POST 요청을 보낼 콜백 URL을 설정할 수 있습니다.외부 시스템에 대해서만 콜백 URL에 대한 액세스 허용

이제 다른 사람이이 URL에 아무 것도 게시 할 수 없도록하고 싶습니다. 이 URL을 ERP 시스템에서만 액세스 할 수 있도록 보호하려면 어떻게해야합니까?

나는 ERP URL에서 사용자와 암호를 하드 코딩하여 www.mysite.com/callback/c1?userName=user에 대한 게시 요청을하게 될 것이라고 생각했습니다. & 암호 = 전달,이 방법은 가능합니다. 자격 증명이 유효한지 확인한 후 요청이 진행되면 자격 증명이 ERP 시스템에 표시됩니다.

다른 방법이 있습니까?

PD : 저는 ASP .NET MVC5를 사용하고 있습니다. PD2 : ERP 시스템을 제어 할 수있는 권한이 없으므로 콜백 URL 만 설정할 수 있습니다.

+0

을 제공하기 어렵다 Wihtout ... 당신의 행동을 꾸밀 수있는 권한 부여 속성을 생성하십시오. 이렇게하면 도움이됩니다. http://stackoverflow.com/questions/473687/restrict-access-to-a-specific-controller-by-ip-address-in-asp-net-mvc-beta. –

답변

0

요청이 ERP에서 왔음을 확인해야하므로 요청에서 요청을 식별 할 수있는 모양이어야합니다. ClientCertificates, Headers, LogonUserIdentity, ServerVariables, Cookies, UserAgent, UserHostAddress, UserHostName ... ERP를 식별하는 이러한 요소 중 일부를 찾으면 문제가 해결됩니다. 그러나 누군가는 여전히 신원을 훔쳐서 재현 할 수 있습니다.

다른 옵션은 IIS에서 방화벽 및/또는 특수 구성을 사용하고 있습니다. 포트 80에 대한 일반적인 바인딩과는 별도로 응용 프로그램을 88과 같은 비 평범한 포트와 ERP 시스템에서만 사용할 수있는 도메인 이름에 바인드 할 수 있습니다. ERP OS의 호스트 파일에 액세스 할 수 있습니까 ? this info in wikipedia을 참조하십시오.

방화벽을 설정 한 경우 새 바인딩 포트 (예 88)에 대한 요청을 ERP 시스템에서만 가져올 수 있도록 필터를 설정할 수 있습니다.

호스트 파일에 ERP 시스템이 정의되어 있기 때문에 ERP 시스템에서만 해결 방법을 알 수없는 도메인에 대한 요청인지 확인할 수도 있습니다.

방화벽을 사용할 수 있다면 한 단계 앞으로 나아가서 ERP에만 알려진 두 번째 IP를 인터페이스 (NIC)에 추가하여 도메인 헤더/IP/포트로 들어오는 요청을 얻을 수도 있습니다 조합을 확인할 수 있습니다.

자세한 정보는 당신에게 당신이 IP 범위가 가정 (당신은 할 수 있습니다되는 구성 요소 ERP의 OS, 응용 프로그램의 종류입니다 ...) 더 나은 조언

관련 문제