1

我有一个 Web 服务,我在其中返回一些用户详细信息。为了解决 DNN 中的 webservice/auth 问题,我不得不查看源代码UserController.GetCurrentUserInfo()并将其复制到我自己的东西中,并稍作修改。当我以主超级用户身份登录时,我可以UserInfo正确填充对象,并且我的所有数据都会返回。当我以普通用户身份登录时,我得到一个空对象。

为了测试,在一些实际的模块代码中,我尝试了“真实” UserController.GetCurrentUserInfo(),只是抓住了一个字符串直接插入到页面中,它确实适用于所有用户类型。

我的网络服务在我的本地 DNN 安装上为所有用户类型成功运行。当我在共享开发环境中安装时,我开始出现这种奇怪的行为。有任何想法吗?我希望这只是我在共享开发中的模块中安装的方式,但我没有看到我出错的地方。

4

1 回答 1

1

您是否在共享环境中的子门户上运行?您可能需要添加portalId到查询字符串,以便 DNN 知道您正在向哪个门户发出请求(这就是它与超级用户一起使用的原因,因为他们已经有一个帐户,即使门户被错误识别)。

您是否考虑过使用DNN 服务框架来实现您的服务,而不是在使用自己的服务时解决这些问题?

于 2013-06-24T19:31:55.453 回答