运用httpmode进行身份验证
2007-08-27 17:03
330 查看
假设用户名和密码放在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)
...{
//数据获取
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);
}
}
4.在webconfig的system.web中添加如下的节点:
<httpModules>
<add name="checklogin" type="checklogin"/>
</httpModules>
<httpHandlers>
注意网站中一定要有login,aspx.
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)
...{
//数据获取
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);
}
}
4.在webconfig的system.web中添加如下的节点:
<httpModules>
<add name="checklogin" type="checklogin"/>
</httpModules>
<httpHandlers>
注意网站中一定要有login,aspx.
相关文章推荐
- 运用httpmode进行身份验证
- [小技巧][ASP.Net MVC Hack] 使用 HTTP 报文中的 Header 字段进行身份验证
- 用Lighttpd加脚本实现服务器端可进行身份验证的HTTP断点续传下载
- HTTP认证按照硬编码登陆对进行身份验证
- HTTP 报文中的 Header 字段进行身份验证
- php运用auth_http类库进行身份效验
- HttpModule实现用户身份验证
- [.NET 基于角色安全性验证] 之五:跨应用程序进行 Forms 身份验证
- WebService通过SOAP头进行身份验证
- 关于WCF的“调用方未由服务进行身份验证”的另一解决方法
- 使用soap的header进行身份验证
- 无责任Windows Azure SDK .NET开发入门篇二[使用Azure AD 进行身份验证]
- 使用 SQL Server 身份验证进行连接数据库
- WCF分布式安全开发实践(5):传输安全模式之Certificate身份验证:Transport_Certificate_WSHttpBinding
- WCF身份验证之一:使用证书进行验证
- WCF分布式安全开发实践(11):消息安全模式之Certificate身份验证:Message_Certificate_WSHttpBinding
- 使用HttpContext的User属性来实现用户身份验证
- 打开网站弹出:需要进行身份验证_IIS网站弹出域名登陆框的解决办法
- H3C交换机 802.1X+AD+CA+IAS进行802.1x身份验证
- 使用 Kerberos 进行 SharePoint 身份验证