通过收购,我们有许多需要认证和授权的产品。产品包括网站和客户端应用程序,客户端应用程序使用一些网络服务。我们是一家.Net 商店,服务器将运行 Server 2008,客户端将运行 XP SP?然后。
产品的用户不属于我们的组织,从具有独立 PC 的单个用户到运行 Active Directory 等的组织中的用户运行。
目前没有通用的身份验证或身份存储,我们正在寻求补救。我们的目标是:
- 所有产品的单一用户名和密码(或证书)。
- 理想情况下是单点登录(如果我们从客户端应用程序启动网站,这很容易,如果用户先登录网站然后再启动客户端应用程序,则可能不太容易)。
- 加上平时;健壮、可扩展...
像大多数公司一样,我们的资源有限,时间紧迫。
一种建议的身份验证路径是 Kerberos,这可能是客户端应用程序对 Web 服务进行身份验证的理想途径,但我不太乐意在用户提交用户名和密码的网站上使用它,而 Web 服务器将是负责票务(然后将票存储在 cookie 中?)。我觉得使用单一身份存储和我们自己的身份验证服务可能会更好,该服务接受用户名和密码,与排序的哈希值进行比较,然后发布一个自定义的、基于时间的安全令牌。也许使用 SqlMembershipProvider?
感谢读到这里的任何人。Kerberos 是否最适合这种情况,还是我应该寻找其他地方?如果不合适,为什么不呢?
我们也在寻找 AD LDS 的授权,但我认为这篇文章已经足够长了......