VBA:使用 Windows 身份验证登录

2024-06-22

我有一个 Access 应用程序,要求用户输入其 Windows 域用户和密码才能进入。我使用以下 VBA 代码来完成此任务:

Function WindowsLogin(ByVal strUserName As String, ByVal strpassword As String, ByVal strDomain As String) As Boolean
    'Authenticates user and password entered with Active Directory. 

    On Error GoTo IncorrectPassword

    Dim oADsObject, oADsNamespace As Object
    Dim strADsPath As String

    strADsPath = "WinNT://" & strDomain
    Set oADsObject = GetObject(strADsPath)
    Set oADsNamespace = GetObject("WinNT:")
    Set oADsObject = oADsNamespace.OpenDSObject(strADsPath, strDomain & "\" & strUserName, strpassword, 0)

    WindowsLogin = True    'ACCESS GRANTED

ExitSub:
    Exit Function

IncorrectPassword:
    WindowsLogin = False   'ACCESS DENIED
    Resume ExitSub
End Function

我注意到有时当信息输入正确时,访问会被拒绝。我尝试调试一次,但出现错误:“找不到网络路径。 ” 在Set oADsObject = oADsNamespace.OpenDSObject) line.

不知道为什么有时会发生这种情况。转换为 LDAP 是否更好?我已经尝试过,但无法正确构建 LDAP URL。


如果用户已经通过 Windows 登录进行身份验证,为什么还要让他们再次输入详细信息?

如果您需要知道哪个用户登录了,您可以通过以下函数非常轻松地获取用户名:



Declare Function IGetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal sBuffer As String, lSize As Long) As Long

Function GetUserName() As String

    On Error Resume Next

    Dim sBuffer As String
    Dim lSize As Long
    Dim x As Long

    sBuffer = Space$(32)
    lSize = Len(sBuffer)
    x = IGetUserName(sBuffer, lSize)
    GetUserName = left$(sBuffer, lSize - 1)

End Function

  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VBA:使用 Windows 身份验证登录 的相关文章

  • Excel IE 自动化识别“css”元素

    仍然在抓取网站 从网页打印等方面进行掠夺 但遇到了一个障碍 我希望有人可以帮助我 下图显示了我想要激活的选项卡 我有代码可以到达那里 但无法激活该选项卡 虽然最后一行代码可以在我的台式电脑上运行 但我无法让它在我的其他电脑上运行 我可能可以
  • 我怎样才能优化这个vba循环代码?

    嗨 我写了这段代码 但这段代码非常慢 我该如何优化这段代码 Private Sub printItem r lastCol objStream FirstCol 1 Dim strFirst As String strFirst CStr
  • 如何使用 VBA 在 Excel 中搜索单词然后删除整行? [复制]

    这个问题在这里已经有答案了 请有人帮忙 我正在尝试编写一个 VBA 代码 在 Excel 工作表 D 列中搜索特定单词 DR 然后删除整行 工作表中特定单词多次出现 我想做的就是搜索这些出现的情况 然后删除包含这些单词的整行 我的问题是我不
  • 设计没有路由与指定删除的链接中的 [GET]“/users/sign_out”匹配

    因此 我四处寻找解决此问题的方法 大多数人似乎都说了同样的话 但对解决我的问题没有多大作用 我已在链接中指定了删除方法 但路由错误表明这是一个 GET 请求 知道为什么下面的链接最终会覆盖 忽略方法声明吗 Routes devise for
  • 在 VBA 中调用批处理文件无法正常工作

    我正在尝试创建一个可供其他人使用的程序 目前 我的文件位于目录中C Documents and Settings jpmccros Desktop test 该目录包含我的macro xlsm names bat 还有另一个子目录名为Dat
  • 从 Google/Facebook 帐户重新验证用户身份

    因此 我需要创建一个 REST API 来为 IOS 应用程序提供功能 我们允许用户仅使用普通帐户或使用脸书 谷歌登录 我最近一直在阅读 OAuth 我想我了解在我的情况下如何使用 OAuth 的过程 当用户使用脸书 谷歌登录 在我的应用程
  • 访问查询——一个字段是否包含另一字段的值

    我正在尝试使用查询将表范围缩小到仅字段 全名 包含字段 名字 中的值的行 例如 如果某行的 全名 中包含 Blake Johnson 名字 中包含 John 则该行将被包含在内 但如果 全名 有 Garry Sways 并且 名字 有 Sw
  • 在 VBA 中声明字典

    我收到错误Run time error 424 Object required当我尝试在 VBA 中创建字典时 我的代码如下所示 Private Sub data Dim dicti As Object Set dicti CreateOb
  • 使用字符串数组作为子字符串参数的 VBA InStr 函数 (Excel)

    找了很久了 第一次提问 目标 循环遍历包含地址的列 根据单元格包含的邮政编码为单元格偏移 0 6 分配一个值 城市名称 这是我到目前为止所得到的 缩短的数组长度 Sub LabelCell Dim SrchRng As Range cel
  • 当用户信息属于公司设备时Rails设备

    我为公司创建了一个设计 我创建了一个用户表 希望我想要存储用户信息密码等 当用户注册时 我希望它创建一个新用户并与公司关联 我公司型号 has one 用户 我的用户模型 所属 公司 我应该如何覆盖注册控制器 此致 Rails 初学者 如果
  • 有没有办法破解 Excel VBA 项目的密码?

    我被要求更新一些 Excel 2003 宏 但 VBA 项目受密码保护 而且似乎缺少文档 没有人知道密码 有没有办法删除或破解 VBA 项目上的密码 你可以直接尝试这个VBA不需要十六进制编辑的方法 它适用于任何文件 xls xlsm xl
  • 数据透视表、页面过滤器 - 使用日期过滤

    我正在尝试过滤具有日期值的页面过滤器 但我在使用时不断出现错误 PivotFilters Add type xlBefore value 5 1 2015 我还尝试了下面的代码 Dim nd As Long nd CLng Date 90
  • 重新查询时如何避免转到第一条记录?

    在 Access 2010 中制作一个表单 我试图制作一个移动到下一条记录 如果在末尾则为第一个记录 的按钮 但因为我想考虑其他用户对已发生的数据集的更新与此同时 我在转到下一条记录之前重新查询表单 我正在使用以下代码 改编自这个帖子 ht
  • 使用 VBA 在 Excel 工作表中添加验证列表时出现问题

    我有一个 Excel 工作表 其中加载了动态数据结果集 加载所有数据后 我需要在每行末尾添加 是 否 下拉列表 我必须动态地执行此操作 因为我事先不知道结果集的大小 以下代码抛出 应用程序定义或对象定义的错误 Dim firstRow As
  • 刷新电量查询VBA

    因此 我使用下面的代码来刷新我的查询连接 但是 如果由于 wtv 原因刷新失败 如何显示消息 因为此 VBA 显示刷新已完成 即使我的查询存在多个错误 Worksheets Details Unprotect Dim Connection
  • 在 Excel VBA 中,如何保存/恢复用户定义的过滤器?

    如何使用 VBA 保存并重新应用当前过滤器 在 Excel 2007 VBA 中 我试图 保存用户在当前工作表上拥有的任何过滤器 清除过滤器 做东西 重新应用保存的过滤器 看一下捕获自动筛选状态 http www mrexcel com f
  • .Net 和 Java 之间的 SSL 套接字,具有客户端身份验证

    我正在尝试在 NET 和 Java 之间创建 SSL 套接字服务器 客户端 在这种情况下 我的 SSL 套接字服务器将在 net 中运行 客户端在 Linux 下以 Java 运行 我的问题是在握手期间连接失败 特别是当服务器向客户端请求证
  • excel vba范围单元格错误对象定义[重复]

    这个问题在这里已经有答案了 我一直在 Excel 中开发一个宏 该宏对一张工作表 次要 中的表格进行排序 当满足条件时 它应该将该表中的数据添加到第二张工作表 Sheet1 中的另一个表格中 但是我一直运行时出现 1004 错误 对象未定义
  • 如何正确编写 CSS 属性选择器来提取所有 id 属性?

    情况 我目前正在尝试在 VBA 中使用语法重现属性选择器 attr 来自给出的 CSS 选择器练习here https www w3schools com cssref trysel asp 选择器旨在根据给定属性的值选择元素 预期结果 在
  • 在 VBScript 中的 SQL 字符串中使用 Excel 命名范围

    我已经在这里和谷歌上搜索过 但仍然无法解决我的问题 我正在尝试在我的中等效地使用 Excel 的命名范围 vbs文件 下面的代码可以在 excel 中的 VBA 中运行 但我无法让它在 vbs file ThisWorkbook Sheet

随机推荐

  • ASP.NET Core WebAPI 安全注意事项

    我的 WebAPI 就是一个供我的 UI 使用的 API 后端 事实上 我的 UI 可能会使用 10 个 WebAPI 服务 我很难理解在安全方面我需要考虑什么 我的 API 使用 Bearer 令牌进行保护 并且仅允许 https 我设置
  • 如何在 Windows 7 上加速 Rails 控制台?

    有没有办法加快 Windows 7 上的 Rails 控制台速度 您可以安装虚拟盒子 http www virtualbox org 使用任何操作系统 例如 Ubuntu Server 10 04 LTS 并在此沙箱中部署 Rails 应用
  • LINQ 连接 2 个列表

    前言 我不明白这是做什么的 o gt o ID i gt i ID o id gt o 所以对我宽容点吧 我有 2 个列表需要连接在一起 list1 contains ALL contacts for a customer Each ite
  • ReSharper 缩写列表:在哪里可以修改它?

    我使用的是 ReSharper 4 5 当我将显式属性转换为自动属性时经常发生的情况是 我会意外选择 将 XX 添加到缩写列表 即 我想将 CustomerID 转换为自动属性 但由于手忙脚乱 我会不小心将 ID 添加到缩写列表中 这是我不
  • transform3d():使用百分比在父对象内移动

    当以百分比移动对象时 CSS 具有标准行为 该百分比代表其父容器 div 的尺寸 使用 CSS3 时情况并非如此transform translate3d 如果对 X Y 或 Z 坐标使用百分比值 则百分比表示当前对象的尺寸 而不是其父级
  • iOS - 如何刷新/更新核心数据瞬态属性?

    我正在使用核心数据 NSFetchedResultsController UITableView 和瞬态 NSDate 属性 我将其作为瞬态属性的主要原因是 我的 UITableView 条目被放入基于 NSDate 的部分中 但当日期更改
  • 如何在 ZF2 中执行 INSERT INTO SELECT 查询

    在 ZF2 中执行 INSERT INTO SELECT 查询的最佳方法是什么 我需要在 ZF2 中开发一个函数 该函数从一个表中选择记录的子集并将这些记录插入到另一个表中 如果我用 SQL 编程 该语句将如下所示 INSERT INTO
  • android facebook api 帖子

    我有个问题 我想使用 facebook api 并在我的墙上发布帖子而不调用对话框 基本上我有一个应用程序 我希望人们能够共享该应用程序 所以我想发布一条特定的消息 我不断收到 方法未实施 的回复 这是帖子的代码 I tried this
  • Pygobject GTK3 中 Gtk.GLArea 的使用

    Gtk3 的 python 包装器的使用文档有些有限 我找到了几个常见的小部件示例 我正在尝试使用 Gtk GLArea 小部件 API 文档是针对 C 的 我没有太多运气猜测使用这个小部件的等效 python 调用 在示例中 小部件是使用
  • 如何删除 process.env 中的值?

    我想从中删除一个值process env process env VALUE I WANT REMOVED undefined 但当我这样做时 process env VALUE I WANT REMOVED设置为字符串 undefined
  • Tiff 注释

    在哪里可以找到 Tiff 注释 Wang Kodak 格式规范 需要解析其中一些并放入文本文件 浪费了很多时间谷歌搜索没有结果 哪些 NET SDK 可以使用这些标签进行操作 有免费sdk者优先 Libtiff 对任何 tiff 标签的大小
  • 检查 Active Directory 帐户是否被锁定 (WPF C#)

    大家好 这是我的第一篇文章 我有一些从 Codeplex 中提取的简单 AD 代码http www codeproject com Articles 18102 Howto Almost Everything In Active Direc
  • 将 jQuery Post 发送到 Google API 时出现 Access-Control-Allow-Origin 错误

    我读了很多 Access Control Allow Origin 错误 但我不明白我必须修复什么 我正在使用 Google Moderator API 但是当我尝试添加新系列 http code google com apis moder
  • 将数据传递给 Angular 4 中的第 n 级子组件

    下面是我在 Angular 应用程序中的组件结构 应用程序组件 html 单位 component html 节 组件 html appData 标题 我正在 app component ts 中创建 appData 我想在子组件的第三级
  • 如何阻止在文本框中输入电子邮件地址或显示弹出窗口?

    我需要一个textbox在我的表单中输入电子邮件地址 但地址应该是企业电子邮件 决不允许输入个人gmail or yahoo这样做时解决或显示警告弹出窗口 如何实现 我可以使用angulars ng pattern来实施吗 你可以做这样的事
  • xlsx 中的 getHighestColumn 不起作用

    有这段代码 使用 PHPExcel public function getHighestColumn return this gt objPHPExcel gt setActiveSheetIndex 0 gt getHighestColu
  • 如何在 ColdFusion 中不使用 Results.columnname 打印所有结果

    如何在 ColdFusion 中不使用 Results columnname 打印所有结果 例如 I have
  • 基于 Visual Studio 和 Nuget 的测试运行器/适配器

    最近我开始了解基于 nuget 的适配器 运行器 http xunit github io docs running tests in vs html http xunit github io docs running tests in v
  • f:selectOneMenu 带参数

    我有一组 用户 组和一个显示这些组 和用户 的表格 每个组表头包含一个f selectOneMenu它允许设置一个组范围的值 在本示例中 将其设为 int 值 0 5 10 15 20 的列表 下面是事情的简短版本 Pojos public
  • VBA:使用 Windows 身份验证登录

    我有一个 Access 应用程序 要求用户输入其 Windows 域用户和密码才能进入 我使用以下 VBA 代码来完成此任务 Function WindowsLogin ByVal strUserName As String ByVal s