关于Ucenter在IIS中有时出现“Access denied for agent changed”错误。
我使用IIS7安装了Ucenter1.5。使用了FastCgi方式运行。
在用.net开发相关应用,与UCenter整合。登录,注册,短消息发送,获取短消息都没有问题,但是就是不能直接进入UCenter提供的消息中心,一直提示“Access denied for agent changed”。
经过跟踪代码发现UCenter中model下的base.php的init_input里有一个对HTTP_USER_AGENT的判断。
这时候一定要检查UC_KEY,UC_APPID是否配置正确
UCenter要进去用户消息中心,首先要发一个请求到UCenter(第一次通讯),当UCenter返回地址后,在redirect到那个地址(第二次通讯)。
第一次通讯是从服务器端访问的UCenter,所以一定要注意传送当前客户浏览器的HTTP_USER_AGENT,否则在第二次通讯,也就是客户端浏览器访问消息中心时就会出现两次的HTTP_USER_AGENT不同,从而产生“Access denied for agent changed”错误。