【问题标题】:Which authentication approach is better for my application?哪种身份验证方法更适合我的应用程序?
【发布时间】:2011-08-18 18:41:45
【问题描述】:

我们要构建一个基于 web 的 asp.net 应用程序,但是我们无法决定应该使用哪种身份验证方法? (Active Directory 身份验证或表单身份验证提供程序)

80% 的应用程序将在公司内部使用(所有用户都是活动目录的一部分),其余 20% 将在外部使用。此应用程序将根据用户(可能是控制级别。即网格可能在同一页面上用户 A 与用户 B 具有不同的列)具有强烈的权限

我只是想知道最好的方法是什么?

【问题讨论】:

    标签: asp.net forms authentication


    【解决方案1】:

    没有理由不能将 LDAP 与表单身份验证一起使用。我一直都这样做。基本上,我使用 LDAP 对用户进行身份验证并获取他们所在的与我的应用程序相关的任何组。我使用表单来管理 cookie 和特定于应用程序的权限。您可以根据需要提供另一种身份验证形式,您只需要提供一种方法让您的应用程序知道何时使用 LDAP 或备用方法。

    【讨论】:

    • 没错,我会建议两者都用。配合得很好。
    • 感谢乔纳森的回复。现在我只需要阅读有关 LDAP 并了解它如何与表单身份验证一起使用(我以前从未使用过它:()。
    • @user603562 我在 .NET 中编写了一个 LDAP 库。我可以将它与一些示例代码一起发送给您。如果您不想要我的代码,则需要使用 System.DirectoryServices.DirectorySearcher 类。
    • 如果你能把图书馆​​寄给我就太好了。当然,示例代码总是有帮助的。我也想知道我将如何处理页面上的控制基础权限? (假设网格应该向用户 A 显示价格,但为用户 B 隐藏)非常感谢!
    • @Jonathan,我可以将 LDAP 库连同示例代码一起发送给我吗?提前致谢。顺便说一句,这是“user603562。我已重命名我的显示名称。再次感谢!
    【解决方案2】:

    许多公司对谁可以管理其 LDAP 权限保持非常严格的控制(这是正确的)。根据您需要为用户添加/删除/更改权限的频率,以及在 LDAP 系统中进行这些更改需要经历多少繁文缛节和痛苦,这可能是该方法的一个重大缺陷。

    显然,这不应该是您唯一且唯一的决策点 - 但它可能值得包含在您的优缺点列表中。

    【讨论】:

    • 这确实是我们的利弊清单。 :)
    【解决方案3】:

    我不会使用 LDAP 进行身份验证。它很容易实现,但是日志记录不太可靠,因为用户不能简单地注销应用程序,这意味着如果其他人开始进行更改,这些更改将被跟踪到登录到计算机的用户。用户应该能够单击页面上某处的“退出”按钮并完成操作。

    您可以将 Windows 标识与 FormsAuth 结合使用,这似乎在这两种方法之间找到了一种舒适的媒介。 Windows 身份验证的好处是它强制应用程序和域之间的用户名保持一致,但在某些情况下这也不是一件好事。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-19
      • 2018-07-05
      • 1970-01-01
      • 2012-02-08
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      • 2019-02-10
      相关资源
      最近更新 更多