在 Windows 问题上连接到企业 WiFi
Connect to Enterprise WiFi on Windows issue
我在Windows Server 2016上配置了Radius服务器,我想使用我的应用程序连接到企业WiFi网络。我尝试执行以下步骤:
使用WlanSetProfile设置没有凭据的配置文件(我使用从 netsh 导入的配置文件并进行了一些修改(
然后使用我的用户名和密码将下面的xml配置文件设置为WlanSetProfileEapXmlUserData:
<?xml version="1.0" ?>
<EapHostUserCredentials xmlns="http://www.microsoft.com/provisioning/EapHostUserCredentials"
xmlns:eapCommon="http://www.microsoft.com/provisioning/EapCommon"
xmlns:baseEap="http://www.microsoft.com/provisioning/BaseEapMethodUserCredentials">
<EapMethod>
<eapCommon:Type>26</eapCommon:Type>
<eapCommon:AuthorId>0</eapCommon:AuthorId>
</EapMethod>
<Credentials xmlns:eapUser="http://www.microsoft.com/provisioning/EapUserPropertiesV1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:baseEap="http://www.microsoft.com/provisioning/BaseEapUserPropertiesV1"
xmlns:MsPeap="http://www.microsoft.com/provisioning/MsPeapUserPropertiesV1"
xmlns:MsChapV2="http://www.microsoft.com/provisioning/MsChapV2UserPropertiesV1">
<baseEap:Eap>
<baseEap:Type>26</baseEap:Type>
<MsChapV2:EapType>
<MsChapV2:Username>test</MsChapV2:Username>
<MsChapV2:Password>test</MsChapV2:Password>
</MsChapV2:EapType>
</baseEap:Eap>
</Credentials>
</EapHostUserCredentials>
然后我使用WlanConnect函数和回调函数来验证连接。连接时出现以下问题:
通知代码返回代码 8 (wlan_notification_acm_scan_fail( 和 11 (wlan_notification_acm_connection_attempt_fail(。
另外,来自 MS 文档:
wlan_notification_acm_scan_fail:
扫描可连接的网络失败。
WLAN_NOTIFICATION_DATA结构的 pData 成员指向 WLAN_REASON_CODE标识 WLAN 原因的数据类型值 操作失败。
因此,发生此问题时,我检查了pData,它返回以下原因:
wlan_notification_acm_scan_fail "手术成功了。">
但是网络未连接。提前感谢您的帮助。
我已经解决了这个问题。问题是因为 PerformServerValidation 设置为 true,并且它显示了通知对话框以验证 Windows 上的证书,这就是它返回的原因:
wlan_notification_acm_scan_fail"手术成功。">
将 PerformServerValidation 设置为 false 修复了此问题(WlanSetProfile 函数(。
<PerformServerValidation xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">false</PerformServerValidation>
另外,对于WlanSetProfileEapXmlUserData函数,我提供了以下配置文件:
<?xml version="1.0" ?>
<EapHostUserCredentials
xmlns="http://www.microsoft.com/provisioning/EapHostUserCredentials"
xmlns:eapCommon="http://www.microsoft.com/provisioning/EapCommon"
xmlns:baseEap="http://www.microsoft.com/provisioning/BaseEapMethodUserCredentials">
<EapMethod>
<eapCommon:Type>25</eapCommon:Type>
<eapCommon:AuthorId>0</eapCommon:AuthorId>
</EapMethod>
<Credentials
xmlns:eapUser="http://www.microsoft.com/provisioning/EapUserPropertiesV1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:baseEap="http://www.microsoft.com/provisioning/BaseEapUserPropertiesV1"
xmlns:MsPeap="http://www.microsoft.com/provisioning/MsPeapUserPropertiesV1"
xmlns:MsChapV2="http://www.microsoft.com/provisioning/MsChapV2UserPropertiesV1">
<baseEap:Eap>
<baseEap:Type>25</baseEap:Type>
<MsPeap:EapType>
<baseEap:Eap>
<baseEap:Type>26</baseEap:Type>
<MsChapV2:EapType>
<MsChapV2:Username>username</MsChapV2:Username>
<MsChapV2:Password>password</MsChapV2:Password>
</MsChapV2:EapType>
</baseEap:Eap>
</MsPeap:EapType>
</baseEap:Eap>
</Credentials>
</EapHostUserCredentials>
现在它已成功连接到企业网络。问题已解决。谢谢。
调用 WlanSetProfile(( 时,请确保将 WlanProfileFlags 设置为 AllUser。
- 无法使用 ESP32 连接家庭 WiFi?
- C++ 两台不同机器之间通过wifi进行套接字通信
- 使用WiFi.h从WiFiClient ESP32获取数据
- 在 Windows 问题上连接到企业 WiFi
- 安卓设备上的原生C++ WiFi P2P 网络是否可行?
- 如何在没有网络的情况下控制NodeMCU,但使用像Qt这样的GUI(通过wifi)?
- 企业架构师中的模型模板函数
- 企业架构师 - 单独的代码生成标头和实现
- 只有 SPIFFS 的第一行在 WiFi.begin() - ESP8266-12E 上工作
- wifi.status(),在AP_Mode运行时返回WL_Disconnected(6)
- 如何将 Wifi.localIP() 转换为字符串并将其存储到外部变量
- Java CryptUnprotectData Windows WiFi Passwords
- TeamCity中的Visual Studio企业代码覆盖率报告
- 使用 QT 创建器通过树莓派上的 Wifi 执行简单的终端命令
- Arduino WiFi101图书馆-将WiFi和WiFiClient传递给儿童课程
- 使用批处理,如何确定您是否已连接到WiFi网络
- 从wifi始终超时从UDP插座读取
- 企业架构师错误:意外符号修复
- 在c++(WLANAPI)中获取Windows wifi托管网络设备的ip地址
- 您如何为Sparx企业架构师逆向工程设置 #include 路径