关闭

Add module to asp.net

标签: moduleasp.netstringloginobjectclass
613人阅读 评论(0) 收藏 举报
分类:

If the user haven't logged in, no matter which page he requested, it will be transfer to Login Page.

namespace AuthorizationModule
{
    
public class UserAuthorizationModule : IHttpModule
    
{
        
public void Dispose()
        
{ }

        
public void Init(HttpApplication context)
        
{
            context.AcquireRequestState 
+= new EventHandler(context_AcquireRequestState);
        }


        
void context_AcquireRequestState(object sender, EventArgs e)
        
{
            
// 获取应用程序
            HttpApplication application = (HttpApplication)sender;

            
// 检查用户是否已经登录
            if (application.Context.Session["UserName"== null || application.Context.Session["UserName"].ToString().Trim() == "")
            
{
                
// 获取Url
                string requestUrl = application.Request.Url.ToString();
                
string requestPage = requestUrl.Substring(requestUrl.LastIndexOf('/'+ 1);

                
// 如果请求的页面不是登录页面,刚重定向到登录页面。
                if (requestPage != "Login.aspx")
                    application.Server.Transfer(
"Login.aspx");
            }

            
else
            
{
                
// 已经登录,向每个请求的页面打印欢迎词。
                application.Response.Write(string.Format("欢迎您!{0}!", application.Context.Session["UserName"]));
            }

        }

    }

}

 

You must add this module to your application. In web.config, you have to add this sentence in System.web node.

<httpModules>
            
<add name="MyModule" type="AuthorizationModule.UserAuthorizationModule" />
        
</httpModules>
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:336307次
    • 积分:5868
    • 等级:
    • 排名:第4512名
    • 原创:248篇
    • 转载:19篇
    • 译文:0篇
    • 评论:38条
    最新评论