2010-03-11 11 views
0

안녕하세요 저는 웹 서비스를 할 것입니다. 이제 고객은 인터페이스에서 메소드를 호출 할 수 있습니다. 나는 인증을 위해해야 ​​할 일을 생각하고 있었고, 나는 읽고 정말로 결정할 수 없었다. 메서드에 사용자 이름과 암호를 전달하고 싶습니다.이 경우 웹 서비스에 어떤 인증을 사용해야합니까?

조언이 있으십니까?

답변

1

일반 인증 스키마는 잘 정의되어 있지만 완전하지는 않지만 알려진 엔티티입니다. 당신이 할 수있는 가장 나쁜 일은 보안에서 "당신 자신의 것"입니다.

"사용자 이름과 비밀번호를 메소드에 전달"한다고 가정하면 웹 서비스에 액세스하는 데 사용되는 자격 증명에 액세스하고 싶다고 가정합니다. 이것은 괜찮지 만 자격 증명을 매개 변수로 메서드에 전달하지 마십시오.

설명에 따르면 SSL을 통한 기본 인증은 응용 프로그램에 대한 충분한 보호를 제공해야합니다. 이는 신뢰할 수없는 환경 (즉 알 수없는 네트워크에서 작동)에서 작동하며 클라이언트 측에서 구현하기에 충분히 쉬워야합니다.

+0

그래서 메서드에 전달하는 자격 증명 대신 SSL 인증서를 사용하는 기본 인증이 필요합니까? 메소드에 자격 증명을 전달하지 않아야하는 이유는 무엇입니까? 답변 주셔서 감사합니다. –

+0

메서드에 자격 증명을 전달하면 메시지 본문 (POST 인 경우) 또는 URL 자체의 매개 변수 (GET 인 경우)에 마스크되지 않은 자격 증명이 표시됩니다. 두 경우 모두 정보가 명확하게 전달되고 나쁜 형식입니다. 기본 인증은 적어도 암호화 (암호화가 아닌)의 인코딩 수준을 얻고 헤더에 자격 증명을 요청에 포함시킵니다. – jro

+0

그래도 어떻게 든 사용자가 웹 서비스를 요청하면 각 사용자에 대한 올바른 정보를 반환해야합니다. GUID/암호화 된 패스를 전달하는 것이 좋은 아이디어일까요? 그러면 모든 사용자가 올바른 정보를 얻기 위해 올바른 방법으로 일치하는 방법을 찾을 수 있습니까? –

관련 문제