【问题标题】:how to authenticate whether the token is correct or not?如何验证令牌是否正确?
【发布时间】:2014-02-12 15:49:11
【问题描述】:

现在,我面临着网络服务身份验证的困难。客户端请求网络服务。首先,客户端需要使用用户名和密码登录。然后,服务器将返回具有过期时间的令牌(随机/日期时间/随机代码)以访问 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;
  }
}

【问题讨论】:

  • 您是否有任何理由不使用某些内置身份验证方案?
  • 至少服务器应该保留令牌的副本以验证传入的令牌。

标签: c# web-services


【解决方案1】:

将令牌存储在数据库中(我想您已经为用户准备了一个)并让 webmethods 对其进行检查

【讨论】:

  • 我不想保存在数据库中,因为我用日期时间定义了令牌。还有其他方法吗?如果您有示例代码,请给我!我真的为此头疼:(
  • 如果您想像这样对 Web 方法调用进行身份验证,则必须将令牌存储在某处。如果您不想使用数据库(为什么?),例如,您可以将活动令牌存储在 Web 服务的应用程序状态中。
  • 如果你不将它存储在服务器上,每个用户都可以制作/延长自己的令牌。
猜你喜欢
  • 2018-12-28
  • 2017-12-11
  • 1970-01-01
  • 2021-12-17
  • 2015-09-29
  • 2012-12-23
  • 2013-09-08
  • 1970-01-01
相关资源
最近更新 更多