0

DNN 版本 5.6.7 .NET 3.5

任何人都知道从另一个 Web 应用程序访问/更新 DNN 站点上的用户帐户的方法吗?

我的目标是允许客户服务从 Intranet 应用程序(包括其他一些与员工相关的非 DNN 数据)更新员工的 DNN 密码,但我没有任何运气。我尝试将一个简单的 Web 服务添加到 DNN 站点的虚拟目录(如此处所述),希望 Web 服务能够访问 DNN 的所有内容,但我无法创建 UserInfoController 的实例 - 它没有实例化MemberProvider 对象。

UserController objUserController = new UserController();
UserInfo objUser = objUserController.GetUser(portalId, userId);

每次,objUserController 对象都为 DotNetNuke.Security.Membership.MembershipProvider 显示 null

DNN 站点和我们的内部网络应用程序都托管在同一台服务器上。任何建议表示赞赏。

编辑:除了 DNN bin 文件夹中的所有 DLL 之外,我还将 DNN web.config 中的所有内容复制到我的 Web 服务 web.config 中,看起来与 DNN 相关

4

3 回答 3

4

如果您的 WebService 在 DNN 中,则此代码必须有效:

UserInfo objUser = UserController.GetUserById(DotNetNuke.Entities.Portals.PortalSettings.Current.PortalId, userId);
于 2012-04-18T10:49:30.673 回答
0

我是通过http://iweb.adefwebserver.com/完成的。

我添加了一个 Web 服务方法,该方法利用了 DNN API 中所有与用户相关的功能(UserInfo、UserController、RoleController 等)。

于 2012-04-18T14:59:43.817 回答
0

如果您的 Intranet 应用程序在 ActiveDirectory 上运行,我会查看一些可用的 ActiveDirectory 集成模块。

如果您可以等到 DotNetNuke 6.2 发布,它将包括一个内置的服务层,它允许您像用户一样对 DotNetNuke 对象进行身份验证和交互。

于 2012-04-17T05:07:57.300 回答