1.用session,并且每个页面判断它是否为null
session可以设置超时时间,超时自动就变回null了
2.可以,不过一般不会这么干.都是放到web.config文件里去
session可以设置超时时间,超时自动就变回null了
2.可以,不过一般不会这么干.都是放到web.config文件里去
解决方案 »
- 我在MVC2 下使用CheckBox 想用AJAX 实现
- 为什么会有这样见鬼的问题?绑定GridView总提示在选定的数据源上未找到名为“InoviceID”的字段或属性
- 同一程序,为什么在服务器A能运行,但在服务器B却不行?
- 紧急求救.net的Oracle问题,高手进
- 对路径“C:\Inetpub\wwwroot\f1”的访问被拒绝??
- 一个DataSet里有一个表,怎么从这个表里取出其中一个字段的值勤.
- .net有2个错误,麻烦哪位帮我看看
- 头疼!.net 2003装完后IIS不能看ASP页面了!!
- 谁能解释一下为什么嵌套form标签会导致submit没有反应?
- 有什么方法可以取得网页中的所有元素来控制?(急)
- ASP.NET中如何动态设置Highcharts图表控件中的数据
- 第一次用web api, 我的bill和dal应写在哪?
web.config不会被客户端访问到吗?
web.config不会被客户端访问到吗?
自己试验一下不就知道了
而用了session被销毁后 用户就只能进登录界面了 体验度不好 而且不好控制。因为你不能确认用户不会乱来
2.有效时长可在web.config配置
2.一般都是配置在web.config中,不用修改程序,就可以很容易的切换数据库
至于链接字符串,也是可以写到代码里面的,不过大部分人都会在webconfig文件里面写
2.在写个公共类basePage,里面取值session
public static PBS.SERVICE.SSOService.USER user=null; private void Page_Init(object sender,EventArgs e)
{
this.InitComplete += new EventHandler(ManagePage_Load);
}
void ManagePage_Load(object sender, EventArgs e)
{
user =HttpContext.Current.Session["USER"] as PBS.SERVICE.SSOService.USER;
}
其他页面继承就可以了。3.在<system.web>节点下
<sessionState mode="StateServer" cookieless="false" timeout="20"/>
protected void btnLoad_Click(object sender, ImageClickEventArgs e)
{
HttpCookie cookie = Request.Cookies["CheckCode"];
if (String.Compare(cookie.Value, txtVali.Text, true) != 0)
{
Response.Write("<script lanuage=javascript>alert('验证码错误');location='javascript:history.go(-1)'</script>");
}
else
{
int i = this.checkLogin(txtUid.Text, txtPwd.Text);
if (i > 0)
{
Session["UserName"] = this.txtUid.Text;
Session["PassWord"] = this.txtPwd.Text;
Page.Response.Redirect("~/Module/ST_Index.aspx");
}
else
{
Response.Write("<script lanuage=javascript>alert('用户名称或密码错误!');location='javascript:history.go(-1)'</script>");
}
}
}
public int checkLogin(string loginName, string loginPwd)
{
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);
SqlCommand myCommand = new SqlCommand("select count(*) from tb_Blog where UserName=@loginName and PassWord=@loginPwd", con);
myCommand.Parameters.Add(new SqlParameter("@loginName", SqlDbType.NVarChar, 50));
myCommand.Parameters["@loginName"].Value = loginName;
myCommand.Parameters.Add(new SqlParameter("@loginPwd", SqlDbType.NVarChar, 50));
myCommand.Parameters["@loginPwd"].Value = loginPwd;
myCommand.Connection.Open();
int i = (int)myCommand.ExecuteScalar();
myCommand.Connection.Close();
return i;
}
//Session对象判断登陆状态
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserName"] == null)
{
Response.Redirect("Default.aspx");
}
else
{
Response.Write("管理员"+Session["name"]+"成功登录!");
}
}
<add name="connstr" connectionString="Data Source=.(若是本地连接这里是一个. 远程连接就写IP);Initial Catalog=数据库名称;User Id=名称;Password=密码;" />
</connectionStrings>