【问题标题】:Add DB Userdata to an MVC App with Windows Authentication使用 Windows 身份验证将 DB 用户数据添加到 MVC 应用程序
【发布时间】:2016-01-22 23:02:21
【问题描述】:

我有一个带有 Windows 身份验证和 Oracle 数据库的简单 MVC 网站。

我想为用户提供一种近乎“SSO”的感觉。 这意味着流程将是这样的:

  • 用户浏览网站
  • Windows 身份验证发生
  • 应用程序检查此 AD 用户的用户名和密码
    • 如果找到,检查是否有效
      • 如果有效,继续
      • 如果无效,请询问用户名和密码
        • 保存并继续
    • 如果未找到,请询问用户名和密码
      • 检查直到有效
        • 保存并继续

第一个问题是,我不知道在哪里存储数据库连接的用户名和密码。

第二个问题是,我不知道去哪里查资料。


据我所知,第一个问题有两种解决方案:

  • 将数据存储在 Active Directory 中(使用 custom attributes
  • 将数据存储在外部文件(文本、db)中

我不能使用 Oracle DB 本身,因为我需要一个用户来查询用户信息,这在这种情况下没有意义。


第二个问题其实是我主要关心的问题

我应该把检查用户名和密码的逻辑放在哪里?

我在网上查了一下,发现了以下选项:


归档上述结果的最佳做法是什么?

【问题讨论】:

  • 这是一个内部网站吗?如果他们没有登录,他们如何通过 Windows 进行身份验证?
  • 是的,它是一个互联网站点。 Windows 登录已在标准 mvc 应用程序中“处理”。
  • 您能补充更多细节吗?我有一个带有 Oracle 数据库的 MVC 项目的代码,看起来很相似,但您提出的问题在上下文中没有意义。如果您使用 Windows 进行身份验证,那么真正的问题是他们的用户属于什么 AD 角色?如果他们没有查看应用程序的角色(权限),那么您不需要他们的密码,您需要阻止他们并要求他们获得使用应用程序的权限

标签: asp.net asp.net-mvc oracle authentication


【解决方案1】:

如果我理解你的问题而不是我猜你想要的是在 Windows 下有一个工作的 SAML 环境,可以通过以下方式完成: https://msdn.microsoft.com/de-de/library/bb897402.aspx

【讨论】:

猜你喜欢
  • 2019-11-21
  • 1970-01-01
  • 2017-02-26
  • 1970-01-01
  • 1970-01-01
  • 2018-12-13
  • 2020-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多