【发布时间】:2009-09-10 09:59:43
【问题描述】:
我正在开发一个带有 ActiveDirectoryMembershipProvider 和 SqlProfileProvider 的 asp.net 内网网站。
我的网站的要求之一是有一个“生日”页面,这需要我列出所有个人资料并从中检索生日信息。
我是这样处理这个问题的:
- 调用 Membership.GetAllUsers() 静态方法;
- 遍历用户列表并从成员的用户名中检索配置文件
但是,由于以下原因,这种方法失败了:
- webapp 正在模拟当前登录的用户以检索其 AD 详细信息(web.config 中的身份 impersonate="true"),因此在尝试调用 GetAllUsers 时出现异常“访问被拒绝”
- 如果我确实尝试让 web 应用程序模拟超级用户帐户,那么 AD 会以用户名@域名格式返回用户名,但在我的配置文件提供程序中,它们最初存储为域名\用户名格式。
那么,您将如何解决这个问题来检索组织中任何成员的完整个人资料列表?
【问题讨论】:
标签: asp.net security membership profile