针对多个提供商(SQl 和 AD)的表单身份验证

发布于 2024-07-24 01:59:23 字数 206 浏览 6 评论 0原文

我们有一个适用于内部用户和外部客户的应用程序。 我们希望针对内部用户针对 AD 进行身份验证,针对外部客户针对 sql 成员资格进行身份验证。 有人采取过类似的方法吗? 另外,在 DMZ 中针对 AD 进行身份验证的最佳方法是什么? 我宁愿在 dmz 中拥有某种代理,并处理针对我们内部网络上的 AD DC 的身份验证。 有什么建议么?

TIA, 凯文

We have an application that is for both internal users and external customers. We would like to authenticate against AD for the internal users and against sql membership for the external customers. Has anyone taken a similar approach? Also what is the best way to authenicate against AD when in a DMZ? I would rather have a proxy of some sort that is in the dmz and handles authentication against the AD DCs on our internal network. Any suggestions?

TIA,
Kevin

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倾城月光淡如水﹏ 2024-07-31 01:59:23

我们也有类似的情况。 我们的内部用户反对 AD,外部用户反对 ADAM 商店。 与您的数据库方法不同,但相似之处在于它们有两个用户存储。 我们针对 AD 的身份验证发生在安全区域中,DMZ 中的 Web 服务器向安全区域发出 Web 服务调用以进行身份​​验证。 不知道你在寻找什么,但你的方法听起来不错。

编辑回答评论:

  • ADAM 存储未与数据库同步。
  • 基本上,Web 服务配置为使用两个提供程序,每个商店对应一个提供程序。 事实上,在用户从遗留系统迁移的一段时间内,有3个。 为了确定用户位于哪个商店,应用程序只需首先询问最常见的提供商(在我们的例子中为 ADAM),如果用户不存在,它将移至下一个提供商。
  • 端点是防火墙内的 Web 服务,在中间层服务器上运行。 该服务器确实运行 IIS,因此从技术上讲,它是一个 Web 服务器,但实际上是我们的中间层服务器,因为它不提供任何页面或托管除一些 Web 服务之外的任何内容。
  • 所以听起来您有两种类型的外部用户。 真正的内部用户(在 AD 中)和真正的外部用户(在 DB 中)。 这不是很优雅,但您可以有 2 个登录屏幕,每个屏幕一个。 不要将内部用户的外部登录屏幕发布给除他们之外的任何人,并将真实的外部登录屏幕发布到全世界。 有点老套,但它会起作用。 否则,您的登录过程将需要识别用户的类型。

We have a similar situation. Our Internal users go against AD the external guys against an ADAM store. Different than your database approach, but similar in that they have two user stores. Our authentication against AD occurs in the secure zone, the web servers in the DMZ make a webservice call into the secure zone for authentication. Don't know what you are rally looking for, but your approach sounds ok.

EDIT to answer comments:

  • The ADAM store is not synced with the database.
  • Basically there were two providers that the webservice was configured to use, one for each store. I fact, there were three for a period of time when users were migrated from the legacy system. To determine which store a user was in, the application simply asked the most common provider first (ADAM in our case) and if the user did not exist, it would move to the next provider.
  • The endpoint was the webservice, inside the firewall, running on a the middle tier server. That server did run IIS, so technically it was a webserver, but actually our middle tier server as it did not serve up any pages or host anything other than a few webservices.
  • So it sounds like you have 2 types of external users. Ones that are really internal users (in AD) and ones that are truely external (in DB). This is not very elegant, but you could ave 2 login screens, one for each. Don't publish the internal users external login screen to anyone but them, and publish the real external login screen to teh world. A little hacky but it would work. Otherwise, you login would process will need to identify the type of user.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文