运用httpmode进行身份验证
来源:互联网 发布:淘宝没有品牌怎么发布 编辑:程序博客网 时间:2024/06/03 19:40
假设用户名和密码放在cookies username 和password中,在httpmoduler来验证数据,在所有数据未到达服务器端的时候做一个判断。符合条件,就让进去,不然就要去注册。
1.新建一个aps.net web项目
2.添加webconfigwenjnia文件
3.添加一个类checklogin.cs
checklogin.cs的
public class checklogin:IHttpModule
...{
//记录当前的网址
private string url;
// 在HttpModule的 AuthorizeRequset实行验证。
public void Application_AuthorizeRequest(object sender, EventArgs e)
...{
HttpApplication application = (HttpApplication)sender;
string name = "admin";
string password="123";
string nameGet ;
string passwordGet;
//获取但前网址
url = application.Request.RawUrl.ToString();
url = url.Substring(url.LastIndexOf('/') + 1);
if (url != "login.aspx")
...{
if (application.Request.Cookies["test"] != null)
...{
...{
//记录当前的网址
private string url;
// 在HttpModule的 AuthorizeRequset实行验证。
public void Application_AuthorizeRequest(object sender, EventArgs e)
...{
HttpApplication application = (HttpApplication)sender;
string name = "admin";
string password="123";
string nameGet ;
string passwordGet;
//获取但前网址
url = application.Request.RawUrl.ToString();
url = url.Substring(url.LastIndexOf('/') + 1);
if (url != "login.aspx")
...{
if (application.Request.Cookies["test"] != null)
...{
//数据获取
nameGet = application.Request.Cookies["name"].Value.ToString();
passwordGet=application.Request.Cookies["password"].Value.ToString();
nameGet = application.Request.Cookies["name"].Value.ToString();
passwordGet=application.Request.Cookies["password"].Value.ToString();
//数据验证
if (name!= nameGet || password!=passordGet)
...{
//结束整个Request.直接跳到注册页面,这样就省了服务器很多的负担。
application.CompleteRequest();
application.Response.Redirect("~/login.aspx");
}
else
...{
application.Response.Write("通过验证!");
}
}
else
...{
application.CompleteRequest();
application.Response.Redirect("~/login.aspx");
}
}
}
public void Dispose() ...{}
//注册事件
public void Init(HttpApplication application)
...{
application.AuthorizeRequest += new EventHandler(Application_AuthorizeRequest);
}
}
if (name!= nameGet || password!=passordGet)
...{
//结束整个Request.直接跳到注册页面,这样就省了服务器很多的负担。
application.CompleteRequest();
application.Response.Redirect("~/login.aspx");
}
else
...{
application.Response.Write("通过验证!");
}
}
else
...{
application.CompleteRequest();
application.Response.Redirect("~/login.aspx");
}
}
}
public void Dispose() ...{}
//注册事件
public void Init(HttpApplication application)
...{
application.AuthorizeRequest += new EventHandler(Application_AuthorizeRequest);
}
}
4.在webconfig的system.web中添加如下的节点:
<httpModules>
<add name="checklogin" type="checklogin"/>
</httpModules>
<httpHandlers>
注意网站中一定要有login,aspx.
- 运用httpmode进行身份验证
- 运用httpmode进行身份验证
- 如何进行身份验证
- IIS服务中五种身份验证的灵活运用
- IIS服务中五种身份验证的灵活运用
- ESMTP协议如何进行身份验证
- ESMTP协议如何进行身份验证
- 跨应用程序进行 Forms 身份验证
- 利用FormsAuthentication.RedirectFromLoginPage进行身份验证
- django使用email进行身份验证
- Django使用email进行身份验证
- Rails使用has_secure_password进行身份验证
- 跨应用程序进行 Forms 身份验证(.NET 1.1)
- WSE3.0 用UserToken来进行身份验证
- WSE3.0 用UserToken来进行身份验证
- ASP.NET跨应用程序进行 Forms 身份验证
- 自定义身份验证Soap头 进行加密解密
- 使用soap的header进行身份验证
- 线程 & 进程
- Log4Net使用指南
- 效率,还是实时?关于Lucene实现实时搜索求助
- 在Debian中配置网络
- AT91RM9200开发板上成功移植linu2.6.21
- 运用httpmode进行身份验证
- shutdown命令详解
- asp.net操作xml
- C# 学习笔记
- 故事说压力
- How To Run Commnad In Server Side.
- RCP程序的启动进度条问题
- 提取累计保额过百万的客户信息(存储过程)
- RegisterStartupScript和RegisterClientScriptBlock输出位置的区别