ASP.NET判断用户是否登录
前段时间因为一特定需求写了下面代码。需求如下:在用户访问本站所有aspx页面时,首先判断用户Session["login"]是否存在,如果不存在,说明该用户未登陆,要让该用户跳转到指定的页面。所以想写一个Session的过滤器,思前想后应该写一个继承IHttpModule的处理类。试验了几种方式发现只有将方法加在.AcquireRequestState中才能读取session。
共享代码如下 MyModule.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// MyModule 的摘要说明
/// </summary>
public class MyModule:IHttpModule
{
public MyModule()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
#region IHttpModule 成员
public void Dispose()
{
throw new Exception("The method or operation is not implemented.");
}
public void Init(HttpApplication context)
{
context.AcquireRequestState += new EventHandler(application_AcquireRequestState);
}
public void application_AcquireRequestState(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
if (app.Context.Session["userName"] == null || app.Context.Session["userName"].ToString().Trim() == "")
{
app.Context.Server.Transfer("login.aspx");
&
相关文档:
虽然这个东西很基本,但是自己有时候还是很混乱,所以今天就小小的整理了下,先给大家带来的是页面的跳转问题。
以下是四种 打开新页面的方法.
1. 直接转向新页面,原页面不保留
Response.Redirect("Webform6.aspx?id=1");
2. 直接转向新页面,原页面不保留
nServer.Transfer("Webform6.aspx?id=1",true);
3. 打开 ......
在页面间跳转,会涉及到值和数据的传递问题.特用本文将我知道的一些方法归纳一下.
1.带参数传递
优点:使用方便
缺点:安全性低,适合传递简单类型的对象,比如数字.字符.但对对象.数组等不合适传递.
应用:
a.安全性不高,应对方式:对传递的值进行加密.
b.传递简单类型的对象.应对方式:在传递页通过简单类型对象给出标识,在 ......
+++ 规定缓存项的键值就可以从缓存中检索缓存项的数据。然而,因为保存在缓存中的数据是不稳定的,可能会被ASP.NET移除,所以,推荐的开发方式为应该先确定缓存项是否存在,如果不存在,应该先添加该缓存项到缓存,然后再检索该缓存项。
+++ 检索缓存项
下面的例子演示,确定名为“CacheItem”的缓存项是否存在 ......
+++ 页面代码如下:
<asp:GridView ID="GridView1" runat="server" DataSourceID="ObjectDataSource1"
AutoGenerateColumns="true" DataKeyNames="EMPNO">
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetEmp" TypeName="O ......
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace zhixiaojia.Webctr.WebControls
{
[DefaultProperty("Text")]
[ToolboxData("&l ......