2011-09-11 146 views
0

现在,我面临Web服务身份验证的困难。客户端请求Web服务。首先,客户端需要使用用户名和密码登录。然后,服务器将给予具有过期时间的令牌(随机/日期时间/随机代码)以访问Web服务。客户端可以使用令牌密钥请求Web服务。 Web服务需要验证令牌是否正确。 现在,以下是我的代码。但我不知道如何继续验证令牌是否正确。请帮帮我!如何验证令牌是否正确?

[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

)如果你想验证Web方法调用,你将不得不将这些令牌存储在某个地方。如果你不想使用数据库(为什么?),你可以例如存储在Web服务的应用程序状态中的活动令牌 –

+0

如果您没有将其存储在服务器上,则每个用户都可以制作/延长自己的令牌。 –