2012-04-16 49 views
0

DNN版本5.6.7 .NET 3.5更新DotNetNuke的用户

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

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

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

每一次,objUserController对象是否显示空的DotNetNuke.Security.Membership.MembershipProvider

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

编辑:除了DNN的bin文件夹中所有的DLL,我也复制一切从DNN web.config文件到我的Web服务的web.config看起来DNN如果您的Intranet应用程序上运行的相关

回答

4

如果你的web服务里面DNN,这个代码必须工作:

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

ActiveDirectory,我会看看一些可用的ActiveDirectory集成模块。

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

+0

谢谢布鲁斯。我们的内联网运行在AD上。你能推荐一个特定的AD集成模块,还是一个搜索的好地方? – 2012-04-17 15:59:38

+0

Glanton解决方案有一系列可能有帮助的Active Directory模块。所有这些都可以在DNN商店中找到。 http://store.dotnetnuke.com/vendor-profile/glanton-solutions – 2012-04-19 05:20:31

0

我通过http://iweb.adefwebserver.com/这样做。

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