代码之家  ›  专栏  ›  技术社区  ›  Dani Cricco

用于Intranet Web应用程序的http或https身份验证

  •  5
  • Dani Cricco  · 技术社区  · 16 年前

    我正在开发一个Intranet应用程序,我想做一个安全的身份验证。

    一种方法是使用https。问题是服务器没有受信任的证书,因此对客户端来说有点烦人,因为浏览器不信任证书,并且会发出可怕的消息。

    使用http将破坏用户密码,但它可以与 “Digest access authentication

    5 回复  |  直到 16 年前
        1
  •  6
  •   Damian Yerrick    9 年前

    购买域和受信任证书?如果你四处逛逛,它们真的不再那么贵了。

    话虽如此,摘要访问身份验证对于身份验证来说是相当安全的。使用http而不是https,您通过网络发送的所有信息都将是纯文本,即使密码不是。任何可以将笔记本电脑插入运行WireShark等应用程序的intranet的人都可以查看来回发送的所有信息。如果您关心信息不被泄露,http将无法满足您的需要。

        2
  •  7
  •   Timmmm    10 年前

    can't buy certificates for internal domains 据我所知,唯一的选择是在客户端上预安装证书。这不是一个很好的解决方案。

    如果您想保持内部域的私有性,另一种可能的方法是创建一个公共域:mycompany.com,然后在内部运行您自己的DNS服务器,解析您的内部域: accounting.internal.mycompany.com , hr.internal.mycompany.com 等等那么我相信您可以使用通配符证书 mycompany.com . 我还没有测试这个解决方案。

        3
  •  5
  •   Peter V. Mørch    7 年前

    这些是(y)我们的选择:

    1. Distribute Certificates to Client Computers by Using Group Policy | Microsoft Docs 并以这种方式使用您自己的自签名证书。

      • 正确手动或允许自签名证书的证书。
    2. 您使用的是正确的域名、真实的证书和混乱的DNS 但是wiki.mycompany.com是一个内部网站(但是请不要把 外部可见DNS记录中wiki.mycompany.com的地址!)

    3. 您根本不使用HTTPS,而是使用HTTP。可能是通过发明你的 登录页面的自身安全性(Yikes!)

    特别是如果您想要分发一个企业级现场应用程序,并且事先不知道客户的网络和DNS配置。

        4
  •  4
  •   Dustin    16 年前

    1. 购买受信任的证书。

    2. 或者,生成您自己的根证书,在所有intranet计算机上的浏览器中安装它(您应该能够这样做,因为它是intranet),生成您自己的服务器证书,并使用您自己的根证书签名。这实际上是公司经常做的事情。

    注意:如果您想进行表单身份验证(包含用户、密码、使用应用程序视觉样式的登录页面的HTML表单、更好的错误密码错误报告、可能的附加功能,如“记住我”或“忘记密码”),则摘要访问身份验证没有帮助。

        5
  •  1
  •   jaywon    16 年前

    如果您需要它是完全安全的,您应该购买SSL证书。

    缺点

    摘要访问认证是一种安全权衡;它旨在取代非常弱的未加密HTTP基本访问身份验证。但是,它并不打算取代强身份验证协议,例如公钥或Kerberos身份验证。

    我想你的答案是:)

    推荐文章