我有一个特定于eStreamChat(.Net 的开源聊天室)的问题。他们网站上的文档或在线示例似乎没有太多内容,因此如果有人可以提供帮助,那就太好了。我认为问题出在我的哈希上。
到目前为止,我已经成功地下载并导入了该项目并设置了一个虚拟 IIS 目录,以便我可以在自己的应用程序中使用它。我在我自己的一个网页上创建了一个链接,将我带到他们的ChatRoom.aspx
网页。将我带到那里的链接采用所需的格式,例如:
http://localhost:10833/eStreamChat/ChatRoom.aspx?id=lowens×tamp=130425080917&hash=eb9fa849033cbf7b967ba472efb46363903f96dc
页面加载完毕,我可以看到聊天室,但弹出以下错误消息:无法加入聊天室!哈希无效!
为了做到这一点,我已按照此页面上的说明进行操作:
我不明白的唯一一行是:您可以从 web.config 文件配置密钥,所以如果有人可以解释我应该在 web.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”
那么为什么那个哈希值不一样呢?
干杯