使用Active Directory的SharePoint自定义Web部件

时间:2009-11-23 13:44:36

标签: sharepoint web-parts wss-3.0 custom-properties

我目前正在开发一个自定义SharePoint Web部件(WSS 3.0,而不是MOSS),它将为Active Directory中的所有用户提供信息,以构建最新的员工目录。此Web部件显示电话号码,地址和其他类似字段。我遇到的问题是,默认情况下,IIS上的SharePoint网站作为用户IUSR_运行。此用户无权访问Active Directory,因此我无法检索任何用户信息。

为了解决这个问题,我已经硬编码了一个测试用户的凭据,我为此添加了这个用户。显然,这并不理想。如果有人删除了这个用户,或者如果他们更改了密码,那么Web部分就会中断,他们将无法修复它(他们没有内部开发人员在完成此处后将其接管)。要解决此问题,我想在Web部件上创建用户名/密码自定义属性,以便我可以将这些属性传递给Active Directory以检索我需要的信息。我遇到的问题是密码以纯文本格式存储,所以任何人都可以阅读。我希望它显示为********或类似的东西。有没有办法让Web部件上的自定义属性成为密码类型?

如果这是不可能的,有人可以推荐另一种方法来完成我想要做的事情吗?目前,我无法更改SharePoint网站运行的用户。虽然,如果我找不到任何其他解决方案,我会再次尝试说服他们。

提前致谢!

2 个答案:

答案 0 :(得分:0)

我会使用自定义编辑器部件,然后设置 TextBox 的控件,其中 TextBoxMode 属性设置为密码,然后覆盖类型 EditorPart - SynchChanges() ApplyChanges()中的方法来设置和检索值。

提示:覆盖 WebPart 类型的方法 CreateEditorParts 以开始。

答案 1 :(得分:0)

我们使用服务帐户。该服务帐户仅用于此。像DOMAIN \ SPS_AD_READ_CUSTOMER

这样的东西

在我们将应用程序投入生产时提供的文档中,该帐户被放入运行webpart所需的内容列表中。如果webpart失败,ITPro可以转到章节并检查一切是否仍然正常。

这不太理想,但我真的不知道如何修复它。