ASP NET表单身份验证混合Windows身份验证

时间:2020-04-19 15:28:48

标签: asp.net single-sign-on forms-authentication windows-authentication

我有一个使用Forms Authentication的旧ASP.NET(.NET 4.0)Forms Web App。 用户被保存在数据库中,并且数据库表在角色之前。 用户有两种类型:

  • 内部用户,密码存储在数据库中
  • Active Directory用户(%DOMAIN%\%USER%)

客户现在要我实施以下事实:如果数据库中存在AD用户,则该用户不应看到“登录表单”,而应看到“自动登录”。如果不是,则会显示“登录表单”。

对我来说,看起来像Windows身份验证而不是SSO。

所以我需要登录页面应该:

  1. 从Windows会话中检索当前的“域\用户”,该调用称为 登录页面
  2. 检查其格式是否为“域\用户”(无本地用户)
  3. 假设用户已通过身份验证(好吧,否则无法通过 已登录)
  4. 在数据库用户表中搜索匹配的“域\用户”条目 Windows会话中的“域\用户”
  5. 找到后,允许用户使用在 数据库。
  6. 如果以上任何一项失败,请重定向到登录表单

有可能吗?

0 个答案:

没有答案