代码之家  ›  专栏  ›  技术社区  ›  Steven Evers

广告可以通过互联网验证用户身份吗?

  •  1
  • Steven Evers  · 技术社区  · 15 年前

    现在我们有广告/交换来管理我们所有用户在办公室的登录/电子邮件。每个人都使用的主要应用程序维护自己的登录帐户,并且所有用户都有一种倾向,即至少忘记两次登录中的一次登录信息。

    我考虑做的是使用AD验证应用程序中的用户,这样他们甚至不必在登录到他们的计算机后登录到应用程序。

    问题是,有少数用户在非现场工作(应用程序可以在互联网上工作),只使用机器的本地帐户(这导致了自身的问题)。

    我想知道的是,如果一个用户在非现场工作,那么使用广告来验证用户的身份仍然是一个选项吗?

    2 回复  |  直到 15 年前
        1
  •  2
  •   Blue Toque    15 年前

    对程序员提出的几乎所有问题的答案都是“是的…”重要的是省略号后面的内容。你可能不想做椭圆之后的事情。

    根据您问题中的信息,我认为答案是“否”,但有几种情况下,我们可以将其更改为“是”。

    如果AD帐户仅用于对用户知道密码的身份验证,则可以创建Web服务、在域中承载该服务、将其设置为使用Windows身份验证和SSL、修改应用程序以提示用户提供凭据,并使用这些凭据调用Web服务中的方法。在这种情况下,对Web服务的成功调用意味着对用户进行了身份验证。您可以使用用户的凭据从那里继续。

    检测应用程序是否需要提示用户提供凭据,可以通过尝试先使用用户的登录凭据调用Web服务来完成。如果此调用失败,那么您知道需要提示用户。

    但是,不知道应用程序的其余细节意味着有很多情况下这是不够的。

    我做了一些和我上面描述的非常相似的事情。我的设想是相反的:应用程序在互联网上工作,但我希望在计算机具有域成员资格的情况下更容易登录。

    顺便提一句,在家工作的成员:他们使用的是属于域的笔记本电脑,还是使用未连接的机器?在这种情况下,您可能可以使用缓存的凭证,但您应该在ServerFault上询问这个问题。

        2
  •  1
  •   marc_s    15 年前

    是的,你肯定能做到。不过,这会有点工作的。

    你的应用程序需要做的是要么自动找出它是直接连接到办公室局域网,要么远离办公室工作。或者你可以让用户告诉你,当然:—)

    如果它在局域网上,没问题-你可以通过AD认证。

    如果它不在办公室,您可以打电话给公司局域网上的WCF服务,传递您的Windows凭据,并让它根据公司广告对您进行身份验证。如果您提供了正确的凭据集,您将获得身份验证并允许工作-如果不允许您登录,对WCF服务的调用将失败。

    通过使用Windows凭据,您几乎可以自动执行此操作-在这种情况下,“远程”用户仍然需要登录到您的域并使用他/她的常规Windows凭据;或者您可以通过网络将用户名/密码传递给WCF,甚至在远程用户的计算机上安装一个证书,然后WCF将在T上映射到一个AD帐户。他是服务器端。

    有很多选择!-)

    马克