从其他Web应用程序更新DotNetNuke用户

时间:2012-04-16 17:28:13

标签: web-services dotnetnuke

DNN Ver 5.6.7 .NET 3.5

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

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

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

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

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

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

3 个答案:

答案 0 :(得分:4)

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

UserInfo objUser = UserController.GetUserById(DotNetNuke.Entities.Portals.PortalSettings.Current.PortalId, userId);

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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