2011-09-11 4 views
0

이제 웹 서비스 인증에 어려움을 겪고 있습니다. 클라이언트가 웹 서비스를 요청합니다. 첫째, 클라이언트는 사용자 이름과 암호로 로그인해야합니다. 그런 다음 서버는 만료 시간이있는 토큰 (임의/datetime/임의 코드)을 웹 서비스에 액세스하기 위해 다시 제공합니다. 클라이언트는 토큰 키를 사용하여 웹 서비스를 요청할 수 있습니다. 웹 서비스가 올바른지 여부와 상관없이 토큰을 인증해야합니다. 이제 내 코드는 다음과 같습니다. 그러나 토큰이 올바른지 여부를 계속 인증하는 방법을 알지 못합니다. 제발 도와주세요!토큰이 올바른지 여부를 인증하는 방법은 무엇입니까?

[WebMethod] 
public String SampleWebMetho(string username, String Password) 
{ 
    if (username=="demo" && Password== "123") 
    { 
     string token= Guid.NewGuid().ToString()+username +"|" + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss) + 
"|" + Guid.NewGuid().Tostring(); 
     return token + " is an Authenticated user to access the Web Method"; 
    } 
    else 
    { 
     return "Access denied for " + username; 
    } 
} 
+1

당신이 인증 체계에 내장의 일부를 사용하지 않는 이유는 어떤 이유가 있나요 ? – Stilgar

+0

최소한 서버는 토큰의 복사본을 보관해야 수신되는 서버의 유효성을 검사해야합니다. –

답변

1

스토어를 데이터베이스 (난 당신이 이미 누구나 하나 있다고 가정)의 토큰과 webMethods를가에 대해 확인 만든다

+0

날짜 시간이있는 토큰을 정의하기 때문에 데이터베이스에 저장하고 싶지 않습니다. 다른 방법이 있습니까? 샘플 코드를 가지고 있다면, 제게주세요! 난 정말 그것에 대해 두통이있어 : ( – user936342

+0

당신은 어딘가에 토큰을 저장해야합니다 같은 웹 메서드 호출을 인증하려는 경우. 왜 데이터베이스를 사용하지 않으려는 경우, 당신은 예를 들어 저장할 수 웹 서비스의 응용 프로그램 상태에있는 활성 토큰 –

+0

서버에 저장하지 않으면 모든 사용자가 자신의 토큰을 만들거나 연장 할 수 있습니다. –

관련 문제