具有集成Windows身份验证的MySQL

几个月来,我一直在努力寻找解决方案。 从字面上看,老少皆宜,祈祷开源社区中的某人具有足够的知识,可以为MySQL社区提供一个LDAP连接器以连接到Active Directory。 nothing,没事。 所以我想我会尝试做类似的事情。

我的业务问题如下:

我使用Windows Server 2003上的Active Directory来管理我的小型公司网络,包括Exchange Server电子邮件地址,文件权限等。

我想建立一个客户内部网,该网将连接我内部业务的世界-员工沟通,软件代码等-并通过一个界面让客户可以看到我的身份

实际为他们做的事情,花费了多长时间,花费了多少,同时跟踪与项目有关的所有沟通。 简而言之,是全面的业务管理,项目管理,现金流和付款处理以及版本跟踪和通讯管理。

在您问之前,我从来不喜欢自己设定简单的任务。

我停止使用Microsoft SQL Server,因为简而言之,它使我无法接受。 重要时刻。 我发现MSSQL Express Edition不会发送邮件(尽管从Web开发人员的请求来看,MSSQL SP2显然已经改变了这一点,因为小型数据库的最常见用法是在小型Web应用程序中-并让它们自动发送邮件是天哪!)。

所以我写了一段很酷的代码来从MySQL发送邮件(因为没有本机功能),然后我想,如果我可以为MySQL编写此扩展功能,使其具有更好的功能,那为什么不使用它呢?我要建立的超级内联网平台?

仅一个障碍-如何将Active Directory数据与MySQL匹配,而无需为MySQL Enterprise PLUS支付高额的许可费,以及用于LDAP连接的附加解决方案(以及AFAIK,Active Directory集成仅适用于MySQL Cluster Edition-因此需要三台服务器,我绝对没有!)。

因此,我提出了以下理论:

  • 向您的Active Directory用户添加一个自定义字段,该字段指定一个布尔值以表明该用户在MySQL数据库架构中具有匹配的用户名,或者是一个字符串值,该字符串值说明在MySQL模式中的用户名。
  • 当用户登录到ASP Web应用程序时,代码将使用LDAP查询数据库以查找此自定义字段。 如果找到它,它将知道MySQL数据库中存在(或应该是)匹配的用户。 如果此自定义字段丢失或为空,则用户将从您的Web应用程序启动。
  • 当AD用户登录时(如果登录成功,则为状态200),然后我们尝试使用通过LDAP自定义字段指定的用户名连接到MySQL DB模式。
但是初次使用的用户呢? 您无法将用户的MySQL密码设置为存储在其AD配置文件中的密码,因为这是无法检索的。

是的-我们测试两件事:

1)他们是

应该访问MySQL DB(LDAP自定义字段)?

2)他们已经有MySQL登录了吗?

如果第一个错误,则我们将其踢开,因为它们并不意味着首先存在。

如果第二个为假,则我们知道他们之前尚未登录-因此我们使用SQL语句在主表中创建一个新用户,并为其输入AD密码(这是从HTTP变量“ AUTH_PASSWORD”中获得的)。

那么,当用户更改其AD密码时会发生什么?

好的问题-我还没有解决这个问题,但是我认为这是一个自定义脚本,您可以将其写入Active Directory网络上的组策略中,然后该组策略将更改关联的MySQL用户名的密码。 要么,要么让用户在您的Web应用程序中更改其AD密码-这样,您可以编写代码以同时更新两个密码。

笔记:

  1. 我还没有练习过! 除非您使用至少256位SSL证书在公司Intranet上使用它, 否则永远不会在面向Internet的Web应用程序中推荐它。
  2. 我建议创建一个专业的桌面应用程序以管理允许哪些用户访问MySQL应用程序-最好是您的网络管理员。 使用VB和/或.NET,您可以相当轻松地查询和编辑AD数据。
  3. 如果您非常熟练使用MySQL权限库结构,则可以为您的Web应用程序创建“配置文件”,类似于“用户”,“高级用户”,“管理员”等。 这样,您可以实现一定程度的委派。
  4. 在学习ASP.NET时,我想简要指出一下-该解决方案已完全解决,使用了两种身份验证系统-Windows Auth和Forms Auth的混合,并在两者之间混合了变量(我确定我将尽快对此做下一篇文章)。
评论表示赞赏。

医务工作者

From: https://bytes.com/topic/asp-classic/insights/795159-mysql-integrated-windows-authentication

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值