(3-19)错误:调试失败,因为没有启用集成 Windows 身份验证

本文介绍了解决因未启用集成Windows身份验证而导致的调试失败问题的方法。通过详细步骤指导如何在IIS中设置集成Windows身份验证,确保能够正确调试Web应用程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

错误:调试失败,因为没有启用集成 Windows 身份验证

 解决方案:

由于没有启用集成 Windows 身份验证,单步执行 Web 应用程序或 XML Web services 失败。因此无法对要求调试的用户进行身份验证。

启用集成 Windows 身份验证

1. 用管理员帐户登录到 Web 服务器。

2. 从“开始”菜单中,打开“管理工具”控制面板。

3. 在“管理工具”窗口中双击“Internet 信息服务”。

4. 在“Internet 信息服务”窗口中,使用树控件打开针对 Web 服务器命名的节点。

5. “Web 站点”文件夹出现在服务器名的下面。

6. 您可以为所有 Web 站点或个别 Web 站点配置身份验证。要为所有 Web 站点配置身份验证,请右击“Web 站点”文件夹并从快捷菜单中选择“属性”。要为个别 Web 站点配置身份验证,请打开“Web 站点”文件夹,右击个别 Web 站点,并从快捷菜单中选择“属性”。

7. 在“属性”对话框中,选择“目录安全性”选项卡。

8. 在“匿名访问和身份验证”部分,单击“编辑”按钮。

9. 在“身份验证方法”对话框的“已授权的访问”下,选择“集成 Windows 身份验证”。

10. 单击“确定”关闭“身份验证方法”对话框。

11. 单击“确定”关闭“属性”对话框。

12. 关闭“Internet 信息服务”窗口。

然后问题就解决了。

,从环境搭建到编写并测试HelloWDK驱动程序。首先介绍如何安装WDK,然后讲解如何在VS2019中创建和配置驱动项目,解决编译错误。最后,指导如何在虚拟机上测试驱动,包括启用驱动签名测试模式,安装并查看驱动运行效果和日志输出。摘要由优快云通过智能技术生成驱动的开发对于初学者来说是不友好的,我们不知道怎么入手,从哪里入门。对于初学者来说束手无策,特别是碰到一个很简单的问题,都不知道怎么解决,这一系列的教程,就是用来排除这些障碍。大部分的驱动开发教程都会先给我们把文档和demo给我们贴出来:Windows驱动程序入门: Windows 驱动程序入门 - Windows drivers | Microsoft DocsGithub: https://github.com/Microsoft/Windows-driver-samples但这对于初学者来说,一开始并没有什么用,因为看不懂。我们还是按照之前有一定的编程基础,来进入驱动的开发。假设大家已经安装了vs2019或者更高版本的vistual studio。先开发一个Hello World的驱动程序,把驱动程序安装到测试机上,看发生了什么。我们先不管里面的逻辑原理是什么,先依葫芦画瓢,整出第一个Hello World的demo。WDK(Windows Driver Kit) 安装安装WDK也是比较简单的事情,在Vistual studio Install上Windows Driver Kit ,进行安装,安装完成了以后会出现Windows Driver Kit已经打钩了。编写HelloWDK新建一个工程,选择Empty WDM Driver项目,新建driver.cpp文件,编写如下代码:// driver.cpp#include <ntddk.h>extern "C" void DriverUnload(PDRIVER_OBJECT pDriverObject);extern "C" NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegPath){ DbgPrint("[GO2CODING_Driver] DriverEntry\n"); NTSTATUS status = STATUS_SUCCESS; pDriverObject->DriverUnload = DriverUnload; return status;}extern "C" void DriverUnload(PDRIVER_OBJECT pDriverObject){ DbgPrint("[GO2CODING_Driver] DriverUnload\n"); return;}123456789101112131415161718192021这时候编译会出错,error C2220: 以下警告被视为错误warning C4100: “pRegPath”: 未引用的形参warning C4100: “pDriverObject”: 未引用的形参123我们还需要如下的设置:1.配置属性 - C/C++ -常规 中 将警告视为错误 设置为 否2.配置属性 - Driver Signing - General 中 Sign Mode 设置为 Off。3 .配置属性 -Inf2cat - run Inf2cat 设置为 否。这样编译成功后,生成HelloWDM.inf和HelloWDM.sys文件。第一个demo也就完成了。测试虚拟机在做驱动的时候,并不像以前开发的应用程序那样,最好不要直接在本机上测试,我们需要一台windows 10 的虚拟机,虚拟机的安装方式可以参考相关的教程。我们还需要驱动开发的相关工具,包含DebugView,DriverMonitor,IRPTrace,WinObj,DeviceTree,DiskView,DriverManager,EzDriverInstaller,可以在这里进行下载。放到测试机上。测试机在正常的模式下,是无法安装windows没有签名的驱动,我们需要把测试机变为不需要签名验证。按shift重启测试机。进入这个界面,选择 疑难解答->启动设置->重启。重新进入系统,在如下的页面中按 7 启动windows。重启完后,把编译好的HelloWDK放到测试机上,进入设备管理(电脑右键->管理),添加过时硬件。一路下一步到底,直到出现 从磁盘安装,选择安装的路径到刚才拷贝的路径下。在安装驱动之前,我们先以管理员的身份打开debugview,在Capture选择如下,等待着log的输出。安装驱动,会 出现如下的提示,选择始终安装。提示安装完成。在设备管理上出现了,如下的新设备。同时在debugview下,我们可以看到如下的log。这个log对于我们来说,意义太重大了,说明我们不仅仅把驱动安装成功了,还打印出了日志,简直相当于调试了,我们的心安了不少。HelloWDK.inf的内容如下:;; The Win2K DDK documentation contains an excellent INF reference.;--------- Version Section ---------------------------------------------------[Version]Signature="$CHICAGO$"Provider=Go2Coding_DeviceDriverVer=11/1/2007,3.0.0.3; If device fits one of the standard classes, use the name and GUID here,; otherwise create your own device class and GUID as this example shows.Class=Go2CodingDeviceClassGUID={EF2962F0-0D55-4bff-B8AA-2221EE8A79B1}CatalogFile=HelloWDK.cat;--------- SourceDiskNames and SourceDiskFiles Section -----------------------; These sections identify source disks and files for installation. They are; shown here as an example, but commented out.[SourceDisksNames]1 = "HelloWDK",Disk1,,[SourceDisksFiles]HelloWDK.sys = 1,,;--------- ClassInstall/ClassInstall32 Section -------------------------------; Not necessary if using a standard class; 9X Style[ClassInstall]Addreg=Class_AddReg; NT Style[ClassInstall32]Addreg=Class_AddReg[Class_AddReg]HKR,,,,%DeviceClassName%HKR,,Icon,,"-5";--------- DestinationDirs Section -------------------------------------------[DestinationDirs]YouMark_Files_Driver = 10,System32\Drivers;--------- Manufacturer and Models Sections ----------------------------------[Manufacturer]%MfgName%=Mfg0,ntamd64[Mfg0]; PCI hardware Ids use the form; PCI\VEN_aaaa&DEV_bbbb&SUBSYS_cccccccc&REV_dd;改成你自己的ID%DeviceDesc%=YouMark_DDI, PCI\VEN_9899&DEV_9899;---------- DDInstall Sections -----------------------------------------------; --------- Windows 9X -----------------; Experimentation has shown that DDInstall root names greater than 19 characters; cause problems in Windows 98[Mfg0.ntamd64]%DeviceDesc%=YouMark_DDI, PCI\VEN_9899&DEV_9899[YouMark_DDI]CopyFiles=YouMark_Files_DriverAddReg=YouMark_9X_AddReg[YouMark_9X_AddReg]HKR,,DevLoader,,*ntkernHKR,,NTMPDriver,,DeviceIoControl.sysHKR, "Parameters", "BreakOnEntry", 0x00010001, 0; --------- Windows NT -----------------[YouMark_DDI.NT]CopyFiles=YouMark_Files_DriverAddReg=YouMark_NT_AddReg[YouMark_DDI.NT.Services]Addservice = HelloWDK, 0x00000002, YouMark_AddService[YouMark_AddService]DisplayName = %SvcDesc%ServiceType = 1 ; SERVICE_KERNEL_DRIVERStartType = 3 ; SERVICE_DEMAND_STARTErrorControl = 1 ; SERVICE_ERROR_NORMALServiceBinary = %10%\System32\Drivers\HelloWDK.sys[YouMark_NT_AddReg]HKLM, "System\CurrentControlSet\Services\HelloWDK\Parameters",\"BreakOnEntry", 0x00010001, 0; --------- Files (common) -------------[YouMark_Files_Driver]HelloWDK.sys;--------- Strings Section ---------------------------------------------------[Strings]ProviderName="Go2Coding."MfgName="Go2Coding Soft"DeviceDesc="Hello World HelloWDK!"DeviceClassName="Go2Coding_Device"SvcDesc="Go2Coding"123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113如果需要 demo的源代码,可以私信我。
最新发布
03-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值