【发布时间】:2013-04-26 04:00:28
【问题描述】:
我有一个特定于eStreamChat(.Net 的开源聊天室)的问题。他们网站上的文档或在线示例似乎没有太多内容,因此如果有人可以提供帮助,那就太好了。我认为问题出在我的哈希上。
到目前为止,我已经成功地下载并导入了项目并设置了一个虚拟 IIS 目录,以便我可以在自己的应用程序中使用它。我在自己的一个网页上创建了一个链接,将我带到他们的ChatRoom.aspx 网页。将我带到那里的链接采用所需格式,例如:
http://localhost:10833/eStreamChat/ChatRoom.aspx?id=lowens×tamp=130425080917&hash=eb9fa849033cbf7b967ba472efb46363903f96dc
页面加载,我可以看到聊天室,但弹出以下错误消息:无法加入聊天室!哈希无效!
为了做到这一点,我已按照this page: 上的说明进行操作
我不明白的唯一一行是:您可以从 web.config 文件配置密钥所以也许有人可以解释我应该在网络上做什么.config 可能会有所帮助。
引发的错误来自RemoteAuthUserProvider.cs。代码如下:
NameValueCollection hrefParams = HttpUtility.ParseQueryString(hrefUri.Query);
var calculatedHash = Miscellaneous.CalculateChatAuthHash(hrefParams["id"] ?? String.Empty,
hrefParams["target"] ?? String.Empty, hrefParams["timestamp"]);
if (hrefParams["hash"] != calculatedHash)
{
throw new SecurityException("Hash is invalid!");
}
调试后:
hrefParams["hash"] 是“eb9fa849033cbf7b967ba472efb46363903f96dc”这是
calculatedHash 是“5129cf1cf65350a387ce53a2b0d31c960f9d96d3”
那么为什么那个哈希值不一样呢?
干杯
【问题讨论】: