VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 874|回复: 3

关于IHttpModule的问题

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-3-13 10:00:01 | 显示全部楼层 |阅读模式
我今天做了个http模块,想用他来判断,登陆系统没有,
我是这样写的,
public class httpModuleSession : IHttpModule, IRequiresSessionState

    {
        public void Init(HttpApplication application)
        {
            application.AcquireRequestState += (new EventHandler(this.Application_AcquireRequestState));

        }
        private void Application_AcquireRequestState(Object source, EventArgs e)
        {
            HttpApplication application = (HttpApplication)source;
            HttpContext context =(HttpContext)application.Context;
            string url = context.Request.Url.ToString().Substring(context.Request.Url.ToString().LastIndexOf('/') + 1).ToLower();
            if (url != "login.aspx" && context.Session["UserInfo"]!=null)
            {
                context.Response.Redirect("login.aspx");
            
            }
     
       }
        public void Dispose()
        {
        }
    }
但总提示我context.Session["UserInfo"]不存在,请问,我在哪个事件里能捕捉到session呀?还有如果我如果这样写
   if (url != "login.aspx")
            {
                context.Response.Redirect("login.aspx");
            
            }
那么login.aspx里的图片什么的都不显示?为什么不让看呀?
回复

使用道具 举报

2

主题

7

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-8-13 18:00:01 | 显示全部楼层
context.Session之前,是不是要
if(Session["UserInfo"]!=null)
{
....
}
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-13 18:15:02 | 显示全部楼层
使用
System.Web.HttpContext.Current 获取Session
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-13 18:30:01 | 显示全部楼层
HttpApplication application = (HttpApplication)source;
HttpContext context =(HttpContext)application.Context;

context只能作为当前发起http请求的上下文.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表