65.9K
CodeProject 正在变化。 阅读更多。
Home

修改浏览器身份验证对话框中的 Realm

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.08/5 (13投票s)

2004年8月4日

2分钟阅读

viewsIcon

51746

downloadIcon

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。

Authentication Dialog

配置

保持简单。 有两个 GUI 前端用于配置此过滤器。 第一个被称为 regedit.exe,第二个被称为 regedt32.exe,您可以在服务器上找到它 ;o)。 在 HKEY_LOCAL_MACHINE\SOFTWARE\ 下创建两个子键,名为 "LEAN Software Production\IISModifyRealm",并在其下创建一个 StringRealm; Value data 将是 realm。

the gui frontend

  1. IISModifyRealm.dll 文件复制到 %WINDIR%\System32\inetsrv 目录。
  2. 确保系统帐户对过滤器 DLL 文件具有执行权限。
  3. 从“控制面板\管理工具”中启动“Internet Information Services”,并打开您的默认网站的属性。
  4. 单击 ISAPI Filter 选项卡,通过键入名称和 Filter DLL 的完整路径 (%WINDIR%\System32\inetsrv\IISModifyRealm.dll) 来添加 Filter。
  5. 重新启动 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 - 准备上传

许可证

本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。

作者可能使用的许可证列表可以在此处找到。

© . All rights reserved.