用户假冒域名

cda*_*daq 5 c# active-directory

我们目前有一个 winforms 应用程序,它允许用户登录以访问系统。认证系统是一个定制的kludge。我正在实施一项更改,将用户 NT 用户名和域名链接到他们现有的自定义帐户,以便他们不需要重复登录。我正在使用 WindowsIdentity.GetCurrent().Name 然后将该信息存储在映射到他们旧的 accountid 的数据库表。我想知道的是,用户是否可以使用反映真实域名的计算机名通过 vpn 进入网络?这可能会让流氓用户访问其他人的帐户。我想真正的问题是:有没有办法区分 sql 服务器域和用户域,而不仅仅是对名称进行字符串比较。

Dav*_*ing 2

是的,如果您的应用程序使用 SQL 身份验证来访问数据库,就会出现这种情况。如果您将数据库连接更改为使用受信任的身份验证,则 SQL Server 将根据域控制器对登录进行身份验证。因此,尽管用户有权访问应用程序,但他们无法访问驱动应用程序的数据库。如果您这样做,您还可以将用户名的捕获移至 SQL Server 存储过程,这将确保捕获的名称与域而不是本地用户的名称匹配。