C# 使用本地Active Directory凭据进行单点登录

C# 使用本地Active Directory凭据进行单点登录,c#,active-directory,single-sign-on,on-prem,C#,Active Directory,Single Sign On,On Prem,背景: 当前登录到.Net应用程序的过程如下所示: 1.用户在浏览器中打开应用程序并进入登录页面。 2.用户输入用户名(在我们的系统中)和密码(由Azure AD管理)并登录 我们有一个用户表,用于存储用户信息(用户名、电子邮件等,密码除外),并使用该表将Azure广告中的用户与系统中的用户关联,以进行授权 要求: 我们最近收到了使用客户端本地active directory凭据启用单点登录的请求。基本上,如果客户端网络中的用户已经使用他们的组织凭据登录到他们的网络,则不必要求他们再次输入凭据以

背景:

当前登录到.Net应用程序的过程如下所示:
1.用户在浏览器中打开应用程序并进入登录页面。
2.用户输入用户名(在我们的系统中)和密码(由Azure AD管理)并登录

我们有一个用户表,用于存储用户信息(用户名、电子邮件等,密码除外),并使用该表将Azure广告中的用户与系统中的用户关联,以进行授权

要求:

我们最近收到了使用客户端本地active directory凭据启用单点登录的请求。基本上,如果客户端网络中的用户已经使用他们的组织凭据登录到他们的网络,则不必要求他们再次输入凭据以访问我们的应用程序

但是,我们希望在应用程序中可以配置此功能。这意味着如果帐户配置为使用SSO,则根据用户的公司目录对用户进行身份验证。如果没有,用户将被重定向到我们的登录页面,并使用我们的凭据登录

问题:

我应该如何满足这些要求?任何建议都将不胜感激


谢谢大家!

鉴于您正在使用Azure广告,我建议您看看Azure广告B2B产品。从你的问题来看,我认为它可能满足你的需要。@BrianDesmond谢谢你的回答!Azure广告B2B似乎是一项非常好的服务。然而,我们已经在应用程序中提供了一个非常类似的注册过程。当管理员为用户创建帐户时,用户将收到一封带有通知的电子邮件和一个重置密码的链接。我们试图避免的一件事是存储用户组织凭据,除非用户选择使用同一组凭据。我认为Azure AD B2B实际上是在用户注册/登录邀请时存储用户公司凭据。如果我错了,请更正。如果用户的组织没有Azure AD关系(通过购买Microsoft云服务,如Office 365、PowerBI等),Azure B2B将管理用户的凭据。如果他们有关系,那么它将利用他们现有的联邦身份或其他管理的云身份。如果用户首先注册了一个帐户,但随后他们的组织与Azure AD建立了关系,B2B将负责将他们的访问权限迁移到他们的托管身份。您好@NiFang,我遇到了与您4年半前相同的要求。与您不同,我们不在Azure Active Directory中存储用户信息。其余一切都一样。我想知道你是怎么做到的?非常感谢您的帮助。鉴于您正在使用Azure广告,我建议您看看Azure广告B2B产品。从你的问题来看,我认为它可能满足你的需要。@BrianDesmond谢谢你的回答!Azure广告B2B似乎是一项非常好的服务。然而,我们已经在应用程序中提供了一个非常类似的注册过程。当管理员为用户创建帐户时,用户将收到一封带有通知的电子邮件和一个重置密码的链接。我们试图避免的一件事是存储用户组织凭据,除非用户选择使用同一组凭据。我认为Azure AD B2B实际上是在用户注册/登录邀请时存储用户公司凭据。如果我错了,请更正。如果用户的组织没有Azure AD关系(通过购买Microsoft云服务,如Office 365、PowerBI等),Azure B2B将管理用户的凭据。如果他们有关系,那么它将利用他们现有的联邦身份或其他管理的云身份。如果用户首先注册了一个帐户,但随后他们的组织与Azure AD建立了关系,B2B将负责将他们的访问权限迁移到他们的托管身份。您好@NiFang,我遇到了与您4年半前相同的要求。与您不同,我们不在Azure Active Directory中存储用户信息。其余一切都一样。我想知道你是怎么做到的?谢谢你的帮助。