0
안녕하세요 저는 웹 서비스를 할 것입니다. 이제 고객은 인터페이스에서 메소드를 호출 할 수 있습니다. 나는 인증을 위해해야 할 일을 생각하고 있었고, 나는 읽고 정말로 결정할 수 없었다. 메서드에 사용자 이름과 암호를 전달하고 싶습니다.이 경우 웹 서비스에 어떤 인증을 사용해야합니까?
조언이 있으십니까?
안녕하세요 저는 웹 서비스를 할 것입니다. 이제 고객은 인터페이스에서 메소드를 호출 할 수 있습니다. 나는 인증을 위해해야 할 일을 생각하고 있었고, 나는 읽고 정말로 결정할 수 없었다. 메서드에 사용자 이름과 암호를 전달하고 싶습니다.이 경우 웹 서비스에 어떤 인증을 사용해야합니까?
조언이 있으십니까?
일반 인증 스키마는 잘 정의되어 있지만 완전하지는 않지만 알려진 엔티티입니다. 당신이 할 수있는 가장 나쁜 일은 보안에서 "당신 자신의 것"입니다.
"사용자 이름과 비밀번호를 메소드에 전달"한다고 가정하면 웹 서비스에 액세스하는 데 사용되는 자격 증명에 액세스하고 싶다고 가정합니다. 이것은 괜찮지 만 자격 증명을 매개 변수로 메서드에 전달하지 마십시오.
설명에 따르면 SSL을 통한 기본 인증은 응용 프로그램에 대한 충분한 보호를 제공해야합니다. 이는 신뢰할 수없는 환경 (즉 알 수없는 네트워크에서 작동)에서 작동하며 클라이언트 측에서 구현하기에 충분히 쉬워야합니다.
그래서 메서드에 전달하는 자격 증명 대신 SSL 인증서를 사용하는 기본 인증이 필요합니까? 메소드에 자격 증명을 전달하지 않아야하는 이유는 무엇입니까? 답변 주셔서 감사합니다. –
메서드에 자격 증명을 전달하면 메시지 본문 (POST 인 경우) 또는 URL 자체의 매개 변수 (GET 인 경우)에 마스크되지 않은 자격 증명이 표시됩니다. 두 경우 모두 정보가 명확하게 전달되고 나쁜 형식입니다. 기본 인증은 적어도 암호화 (암호화가 아닌)의 인코딩 수준을 얻고 헤더에 자격 증명을 요청에 포함시킵니다. – jro
그래도 어떻게 든 사용자가 웹 서비스를 요청하면 각 사용자에 대한 올바른 정보를 반환해야합니다. GUID/암호화 된 패스를 전달하는 것이 좋은 아이디어일까요? 그러면 모든 사용자가 올바른 정보를 얻기 위해 올바른 방법으로 일치하는 방법을 찾을 수 있습니까? –