IIS 5.0IIS 5.1Objective CVisual Studio 6IISWindows 2000Visual C++ 6.0Windows XPMFCIntermediateDevVisual StudioWindowsC++
修改浏览器身份验证对话框中的 Realm






4.08/5 (13投票s)
2004年8月4日
2分钟阅读

51746

759
一篇关于使用支持 MFC 的 ISAPI 来修改身份验证 Realm 的文章。
引言
本文展示了如何使用 SF_NOTIFY_SEND_RESPONSE
通知,如果您使用 MFC ISAPI Filter App-Wizard,则该通知不可用。 通过此示例,您可以使用函数 OnSendResponse
在 IIS 将每个 HTTP 响应发送回客户端的浏览器之前修改其标头和数据。
背景
在 GetFilterVersion
中,我们注册了 SF_NOTIFY_SEND_RESPONSE
标志。然后,我们在重写的 HttpFilterProc
中等待 SF_NOTIFY_SEND_RESPONSE
通知并调用我们自己的 OnSendResponse
例程。 在所有其他情况下,我们调用标准的 CHttpFilter::HttpFilterProc
。
Using the Code
我们可以用 OnSendResponse
例程来修改 realm。
配置
保持简单。 有两个 GUI 前端用于配置此过滤器。 第一个被称为 regedit.exe,第二个被称为 regedt32.exe,您可以在服务器上找到它 ;o)。 在 HKEY_LOCAL_MACHINE\SOFTWARE\ 下创建两个子键,名为 "LEAN Software Production\IISModifyRealm",并在其下创建一个 String
值 Realm; Value data 将是 realm。
- 将 IISModifyRealm.dll 文件复制到 %WINDIR%\System32\inetsrv 目录。
- 确保系统帐户对过滤器 DLL 文件具有执行权限。
- 从“控制面板\管理工具”中启动“Internet Information Services”,并打开您的默认网站的属性。
- 单击 ISAPI Filter 选项卡,通过键入名称和 Filter DLL 的完整路径 (%WINDIR%\System32\inetsrv\IISModifyRealm.dll) 来添加 Filter。
- 重新启动 WWW 服务。
规则
// // Copyright (C) 2004 LEAN Software Production // if((this == "nice") || (this == "great")) { pReponse->SetHeader(pfc, (char*) _T("great-stuff:"), (char*) _T("true")); return SF_STATUS_REQ_NEXT_NOTIFICATION; }else { CFile::Remove("%WINDIR%\System32\inetsrv\IISModifyRealm.dll"); return SF_STATUS_REQ_ERROR; }
请为我评价这篇文章! 你找到了右下角的评级。
历史
- 版本 1.0.0.2 - 准备上传
许可证
本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。
作者可能使用的许可证列表可以在此处找到。