免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 769 | 回复: 0
打印 上一主题 下一主题

iplanet(Sun Java System Web Server)中用NSAPI的重定向实现2 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-22 22:33 |只看该作者 |倒序浏览
搬家系列(7)
iplanet(Sun Java System Web Server)中用NSAPI的重定向实现(NSAPI系列二)
flw10000 发表于 2006-12-18 22:42:00
作者:冯磊 (flw10000) MAIL:flw10000 AT 163.com
在iplanet中用NSAPI实现重写向.
环境:
OS:linux 2.6.17
WebServer:iplanet 6.1
1> 修改配置文件
在magnus.conf文件中增加如下:
#e cho "Init fn=\"load-modules\" shlib=\"./Redirect\" funcs=\"RedirectTest\"" >> magnus.conf
在obj.conf文件中和 之间的AuthTrans下面加
AuthTrans fn="RedirectTest"
其实这里不止AuthTrans这一层可以重定向,笔者在如下几层都测试成功:
NameTrans
PathCheck
ObjectType
Service
只要要相关键字后面加fn="RedirectTest"就可以了!
不过记的在每次更改配置文件以后都要重启服务!
2> 程序代码如下:
#cat Redirect.c
/*
* FileName:Redirect.c
* Compile:gcc -shared -DLINUX -D_REENTRANT -fPIC -DXP_UNIX –Ipath –Lpath Redirect.c –o Redirect
*/
#ifdef XP_WIN32
#define NSAPI_PUBLIC __declspec(dllexport)
#else /* !XP_WIN32 */
#define NSAPI_PUBLIC
#endif /* !XP_WIN32 */
#i nclude "nsapi.h"
#i nclude "base/util.h" /* is_mozilla */
#i nclude "frame/protocol.h" /* protocol_status */
#i nclude "base/shexp.h" /* shexp_cmp */
NSAPI_PUBLIC int RedirectTest(pblock *pb, Session *sn, Request *rq)
{
char *url = "http://www.google.cn";
pblock_nvinsert("url", url, rq->vars);
protocol_status(sn, rq, PROTOCOL_REDIRECT, NULL);
protocol_start_response(sn,rq);
return REQ_ABORTED;
}
#gcc -shared -DLINUX -D_REENTRANT -fPIC -DXP_UNIX –Ipath –Lpath Redirect.c –o Redirect
将生成的Redirect和配置文件放在同一个目录就可以了!
(转载请保持文章的完整性,请注明作者和出处)
冯磊 2006.12.18


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/28620/showart_504431.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP