1

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

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

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

提前致谢!

4

2 回答 2

0

我将使用自定义Editor Part,然后设置TextBox的控件,并将属性TextBoxMode设置为Password,然后覆盖EditorPart - SynchChanges()ApplyChanges()类型的方法以设置和检索值。

提示:重写WebPart类型的CreateEditorParts方法以开始。

于 2009-11-23T14:07:41.987 回答
0

我们为此使用服务帐户。该服务帐户仅用于此目的。类似于 DOMAIN\SPS_AD_READ_CUSTOMER

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

这并不理想,但我真的不知道如何解决它的另一种方法。

于 2009-11-23T15:37:47.437 回答