我尝试通过从远程站点调用用户 Web 服务 API 在基于 Ektron CMS400.NET 的网站中创建新的会员用户。 我打算使用的方法之一, AddMembershipUser在文档中有注释,表示“必须登录具有管理员权限的用户才能执行此操作。”。 我已经通过 AuthenticationHeaderValue 对象提供了远程调用 Web 服务所需的凭据。 我还致电 LogInUser 方法,用于登录我的管理员用户之一,这似乎有效。 我陷入困境的是弄清楚如何以我刚刚登录的管理员用户身份执行对 AddMembershipUser 的调用。我已向 Ektron 支持请求,并一直在搜索论坛和文档,但尚未找到任何答案。
有没有人有以编程方式登录的用户从远程服务器调用 Web 服务 API 方法的示例?
I am attempting to create new membership users in an Ektron CMS400.NET-based website by through calls to the User web service API from a remote site. One of the methods I intend to utilize, AddMembershipUser has a remark in the documentation indicating "A user with administrator privileges must be logged in to perform this operation.". I am already providing the necessary credentials via the AuthenticationHeaderValue object for calling the web service remotely. I have also made a call to the LogInUser method, to login one of my admin users, and this appears to be working. The point at which I am stuck is figuring out how to execute the call to AddMembershipUser as the admin user whom I just logged in. I have requests out to Ektron support, and have been searching both the forums and documentation, but have yet to find any answers.
Does anyone have examples of calling web service API methods as a programmatically logged in user, from a remote server?
发布评论
评论(2)
我已经在 Ektron 6.13、6.15、6.18、7.03 和 7.04 中完成了这项工作,在每个版本中,他们都以许多不同且有趣的方式从根本上改变/破坏了 API。 我可以为每个版本提供一个答案,但我的建议是在页面上放置一个成员资格控件,并使用它来创建用户,同时记录使用 SQL 探查器发生的 SQL(以及您可以使用的任何其他日志记录/检查技术)考虑到)。 然后尝试 API 方法,看看 API 是如何做到的,并比较两者,我经历过的版本通常存在巨大差异。 对于我必须处理的大多数情况,我必须让 API 完成其部分工作,然后直接访问数据库以正确更新记录。
I've done this with Ektron 6.13,6.15,6.18,7.03 and 7.04, in each version they radically changed/broke the API in many different and interesting ways. I can give you an answer for each of those versions, but my advice is to put a membership control on a page and use that to create a user while logging the SQL that happens with SQL profiler (also any other logging/inspection techniques you can think of). Then try the API methods and see how the API is doing it and compare the two, there's usually huge differences in the versions I've experienced. For most of the cases I've had to deal with, I've had to let the API do its partial job and then go directly to the database to update the record correctly.
根据我对他们的文档的了解,只要您通过 AuthenicationheaderValue 对象路径登录凭据,您就应该能够进行调用。 您可能还需要首先调用登录,他们可能以某种方式跟踪他们这边的会话。
From what I can make of their documentation you should be able to make the call as long as you path the login credentials via the AuthenicationheaderValue object. You might need to call login first as well, it is possible they are tracking session on their side somehow.