在页面的page_load判断session是否为空,感觉有点儿不太好。那样的话,岂不是每个页面都要判断了。好像在web_config里面可以设置,求教,谢谢!~

解决方案 »

  1.   

    你没有用到asp.net 2.0/3.5的membership吗?用这个的话只需要在配置文件里指定一下就可以达到这种效果了。
      

  2.   

    <location path="Manager">
    <system.web>
    <authorization>
    <deny users="?"/>
    </authorization>
    </system.web>
    </location>
    Manager 是你需要控制的网页的目录。
    <deny users="?"> 表示拒绝所有匿名用户访问。将次配置放到Configruation节点下。
    前提是你的网站认证方式要该为Froms认证,一般是windows认证,以下是配置方法,将它放到<system.web></system.web>节点中。
    <authentication mode="Forms">
    <forms name="forms1" loginUrl="Login.aspx" timeout="216000" path="/" protection="None"></forms>
    </authentication>
      

  3.   


    using System;
    using System.Data;
    using System.Configuration;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;/// <summary>
    ///BasePage 的摘要说明
    ///所有需要进行身份验证页的基类
    /// </summary>
    public class BasePage:System.Web.UI.Page
    {
    public BasePage()
    {
            this.Load += new EventHandler(BasePage_Load);
    }
        void BasePage_Load(object sender, EventArgs e)
        {
     //如果用户没有登录就跳转到登录页
            if (Session["UserName"] == null)
            {
                Response.Redirect("~/Login.aspx");
            }
        }
    }
    //其他需要验证的页面
    public partial class _Default :BasePage
      

  4.   

    如果不用session的话,就用.net 自带的成员资格,在webconfig中配置就可以。
      

  5.   

    在配置文件里面,设置成form身份验证deny里面  如果没有登录的用户,你可以强制的给转到login..就这样,祝你成功
      

  6.   

    做个判断就行了
    if(session["..."]!=null)
      

  7.   

     public class BasePage : System.Web.UI.Page
        {
           public  BasePage()
           {
                      }
             protected override void OnInit(EventArgs O)
           {
               if (base.Session["UserId"] == null || base.Session["UserId"].ToString().Equals(""))
               {
                   Response.Redirect("~/Error.aspx");
               }
           }
        
           
        }
    或通过IttpMoudle判断实现
      

  8.   

    上面的 方法不错 不过还有个更好的
    在 全局应用程序价格方法即:
    Global.asax程序请求文件  void Application_BeginRequest(object sender, EventArgs e)
        { 
           if(未登录){
             跳转
             }
        }