【问题标题】:NTLM/Windows Authentication and GetAllUsers()NTLM/Windows 身份验证和 GetAllUsers()
【发布时间】:2010-11-04 23:07:02
【问题描述】:

我正在设计一个将在 Intranet 上使用的 Web 应用程序,因此 Windows 身份验证模式是理想的。但是,应用程序的一部分需要能够获取用户列表(选择用户进行分配。Membership.GetAllUsers() 不适用于 Windows 身份验证(单独)。我不能使用 ActiveDirectoryMembershipProvider,因为我不允许存储要绑定的凭据;因此任何 AD 访问都必须以经过身份验证的用户身份进行。

我已经断断续续地搜索了几个星期来寻找一个明确的例子或解决方案,我开始认为世界上没有人有同样的问题。

我唯一的选择是使用 Application_AuthenticateRequest 并将“membership”的两个世界连接到“windows auth”吗?但是,我如何在应用程序的其他地方获得“所有”用户的列表?是否有一个 ActiveDirectoryMembershipProvider 冒充调用用户?

【问题讨论】:

    标签: asp.net membership single-sign-on provider


    【解决方案1】:

    AD 可以包含大量用户 - 因此在一般情况下,列出所有用户通常是不切实际的。

    如果您正在设计一个用户界面来选择用户(例如分配给角色),我会做一些类似于现有 Windows 用户界面的事情来选择一个 AD 用户或组。例如,输入几个字符并按名字、姓氏或常用名搜索匹配项。显示所有匹配项(最多为 1000 个)并让用户从中挑选。

    【讨论】:

    • 所以我自己动手吧,嗯?我确实计划将 AD“所有用户”限制为可定义的子树或过滤器。
    • “所以我会自己动手,呵呵”——我猜是这样,除非你能在某处找到实现。我查看了 Sharepoint,它有一个用于向 AD 用户分配权限的 UI,但它是一个使用 ActiveX 控件(Microsoft AddressBook 或其他东西)的丑陋实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多