X 정보를 가져 오는 기능을 제공하는 WCF 웹 서비스가 있습니다. 이 서비스는 정보를 JSON 형식으로 반환합니다. 이 웹 서비스의 보안을 유지하려면 어떻게해야합니까? 기본 IIS 보안을 사용하지 않고 사용자 정의 로그인 (데이터베이스 확인 포함)을 사용하려고합니다.FormsAuthentication ASPXAUTH 쿠키 WCF 및 JSON
X 정보를 표시하려는 클라이언트 응용 프로그램에서 JQUERY 및 AJAX 호출을합니다. 먼저 MD5에서 암호화 된 사용자 이름과 암호를 입력 할 수있는 로그인 페이지가 있습니다. 클라이언트는이 정보를 사용하여 서비스를 호출하고 사용자가 유효한 경우 서비스가 YES를 반환하고 (postgresql 데이터베이스에서 단순 선택) 또는 false가 반환됩니다. 지금은 FormsAuthentication 객체를 시작하여 쿠키에 추가합니다.
둘째, 클라이언트 코드에서 호출 할 때 .ASPXAUTH 쿠키가 각 호출에 전달됩니다. 하지만 좋은 사용자 인 것을 확인하기 위해 서버 측에서해야 할 일 "도난당한"쿠키 ASPXAUTH 코드가 아닙니까? 나는이 작은 isValidUser 함수가 호출을 유효하게하기에 충분하다고 생각하지 않는다.
Private Function isValidUser() As Boolean
Dim cookie As HttpCookie = HttpContext.Current.Request.Cookies(FormsAuthentication.FormsCookieName)
If cookie Is Nothing Then Return False
Dim decrypted = FormsAuthentication.Decrypt(cookie.Value)
If String.IsNullOrEmpty(decrypted.UserData) Then Return False
Return True
End Function
감사합니다, 당신은 무엇을 설명에서
Anders, IIS와 함께 webHttpBinding을 사용합니다. 사용자 ID를 볼 때 localhost에서 Windows 인증 사용자가 있지만 다른 서버에 웹 서비스를 게시하면이 속성은 비어 있습니다. 어쨌든 Windows Authenticated 사용자는 필요 없으며 Postgres 데이터베이스에 저장된 사용자 이름과 암호로 나를 인증해야합니다. 도움 주셔서 감사합니다. –