2012-07-06 5 views
0

이전 .NET 1.1 원격 시스템에서 .NET 4.0 WCF 아키텍처로 이동합니다. 시스템의 일부는 중간 계층에있는 300 개 이상의 기능을 호출하는 데 사용하는 데스크톱 클라이언트 응용 프로그램입니다.여러 서비스에 걸친 WCF 보안

이러한 원격 기능을 9 가지 서비스로 통합하고 있지만 다른 후속 WCF 호출보다 먼저 사용자가 "로그인"기능을 수행했는지 확인하는 좋은 방법이 필요합니다.

로그인은 이러한 서비스 중 하나에서만 발생하므로 서비스에서 "로그인"하는 방법이 있는지 확실하지 않습니다. (모두 동일한 머신, 동일한 도메인에서 호스팅됩니다.) 우리는 장기적으로 외부 클라이언트에 대한 wshttp 바인딩을 허용하기 위해 net.tcp를 통해 서비스를 제공합니다. (도움이 될만한 다른 바인딩으로 뭔가를 얻을 수 있는지 확실하지 않음)

나는 인증 정보를 보유하는 싱글 톤을 호스팅하는 것으로 생각합니다. 사용자 로그인이 확인되고 "보안 저장소"에 제출되면 우리는 다음 WCF 호출과 함께 보내도록 클라이언트에게 GUID를 반환합니다.

그리고 나서 각 WCF 호출은 싱글 톤 "보안 저장소"에 대해 유효성을 검사합니다.

그래서 질문은 ... 동일한 목표를 달성하기 위해 WCF에 고유 한 것을 사용할 수 있습니까? 사용자 정의로 가고 싶어하기 때문에

+0

입니다 토큰 기반 인증, 내 질문에 대한 답변을 많이 볼 수 있습니다. http://stackoverflow.com/questions/11349539/wcf-authentication-service-or-token-based-security/11350784#11350784 –

+0

너 지금 인증하는거야? – Paparazzi

+0

우리는 사용자 정의 클래스를 사용하여 DB에 대해 salt와 hash를 사용하고 있습니다. 그러나 이것은 내가 사용자 자격 증명 라우트로 가고 싶다는 생각을 갖게합니다. 보안이 토큰을 수행해야한다고 결정한 경우에도 사용자 자격 증명에서 "토큰"으로 토큰을 전달할 수 있습니다. 데이터 저장소로 다시 돌아 가지 않는 방법을 찾기를 바랬지 만 작동 할 것입니다. (하지만 성능 문제가되는 경우 "캐시"싱글 톤에 저장할 수 있습니다.) 감사합니다! – Tojamismis

답변

0

이 테이블 도움이 보안에 대한 enter image description here

바인딩 secect하기 위해, WCF는 SecurityMode

는 특수화 물어, 여러 종류의 인증을 가지고, WCF의 보안은 큰 주제

+0

특히 데이터베이스의 사용자 지정 유효성 검사에 대해 여전히 인증을 받아야합니다. 우리는 사용자 지정 .net 클래스를 사용하여 소금과 해시를 사용합니다. 문제는 로그인을 첫 번째 호출로 강제해야하지만 단일 서비스로 얻을 수있는 "초기화"및 "종결"혜택이 없다는 것입니다. – Tojamismis

관련 문제