判断用户是否登录,阻止直接在地址栏输入网址访问
2012-10-29 15:13
375 查看
判断用户是否登录,阻止直接在地址栏输入网址访问!
web.config配置
<authentication mode="Forms"> //验证模式
<forms loginUrl="login.aspx"></forms> //跳转到的页面
</authentication>
<authorization>
<deny users="?"/> //拒绝匿名用户
</authorization>
登录之后退出,发现此时在浏览器里直接输入地址可以直接跳转
原因:退出时session没有清空
解决方法:
session["user"]=null; //把名为user的session值设为null;
Session.Remove("user"); //删除名为user的session
this.Response.Redirect("login.aspx") //之后跳转到登录页面;
登录时如果要判断session分配权限,就把session设为null面不是remove
到这里发现还是可以直接通过输入地址直接访问,
原因:浏览器缓存
解决方法:
if (!IsPostBack)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);//阻止浏览器记录缓存
//以下是判断session是否为空,如果为空则跳转到登录页面
if (Session["user"] == null || Session["user"].ToString() == "")
{
this.Response.Redirect("login.aspx");
}
这样就可以防止直接在访问某个页面了
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
//判断是否为空,如果为空跳转到登录页面
if (Session["user"] == null || Session["user"].ToString() == "")
{
this.Response.Redirect("login.aspx");
}
else
{
//分配权限,如果不是管理员将一些功能禁用
string leixing = Session["leixing"].ToString(); //获取session的值
if (leixing != "管理员")
{
hlkadduser.Visible = false;
hlkusermess.Visible = false;
usermanage.Visible = false;
sendyingjian.Visible = false;
fasongjilu.Visible = false;
sendjilu.Visible = false;
}
else
{
Label3.Visible = false;
Label4.Visible = false;
messgae.Visible = false;
}
username.Text = Session["user"].ToString();
bind();
}
}
}
//数据绑定
public void bind()
{
try
{
string jifang = Session["jifang"].ToString();
DataSet ds = DBvisit.yjmanagedb.message(jifang);
int count = ds.Tables[0].Rows.Count;
messgae.Text = count.ToString();
}
catch (Exception ce)
{
Console.Write(ce.Message.ToString());
}
}
//退出将名为user的session设为null;
protected void lbtnclose_Click(object sender, EventArgs e)
{
//Session.Remove();
Session["user"] = null;
this.Response.Redirect("login.aspx"); //跳转页面
}
}
web.config配置
<authentication mode="Forms"> //验证模式
<forms loginUrl="login.aspx"></forms> //跳转到的页面
</authentication>
<authorization>
<deny users="?"/> //拒绝匿名用户
</authorization>
登录之后退出,发现此时在浏览器里直接输入地址可以直接跳转
原因:退出时session没有清空
解决方法:
session["user"]=null; //把名为user的session值设为null;
Session.Remove("user"); //删除名为user的session
this.Response.Redirect("login.aspx") //之后跳转到登录页面;
登录时如果要判断session分配权限,就把session设为null面不是remove
到这里发现还是可以直接通过输入地址直接访问,
原因:浏览器缓存
解决方法:
if (!IsPostBack)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);//阻止浏览器记录缓存
//以下是判断session是否为空,如果为空则跳转到登录页面
if (Session["user"] == null || Session["user"].ToString() == "")
{
this.Response.Redirect("login.aspx");
}
这样就可以防止直接在访问某个页面了
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
//判断是否为空,如果为空跳转到登录页面
if (Session["user"] == null || Session["user"].ToString() == "")
{
this.Response.Redirect("login.aspx");
}
else
{
//分配权限,如果不是管理员将一些功能禁用
string leixing = Session["leixing"].ToString(); //获取session的值
if (leixing != "管理员")
{
hlkadduser.Visible = false;
hlkusermess.Visible = false;
usermanage.Visible = false;
sendyingjian.Visible = false;
fasongjilu.Visible = false;
sendjilu.Visible = false;
}
else
{
Label3.Visible = false;
Label4.Visible = false;
messgae.Visible = false;
}
username.Text = Session["user"].ToString();
bind();
}
}
}
//数据绑定
public void bind()
{
try
{
string jifang = Session["jifang"].ToString();
DataSet ds = DBvisit.yjmanagedb.message(jifang);
int count = ds.Tables[0].Rows.Count;
messgae.Text = count.ToString();
}
catch (Exception ce)
{
Console.Write(ce.Message.ToString());
}
}
//退出将名为user的session设为null;
protected void lbtnclose_Click(object sender, EventArgs e)
{
//Session.Remove();
Session["user"] = null;
this.Response.Redirect("login.aspx"); //跳转页面
}
}
相关文章推荐
- 判断用户是否登录,阻止直接在地址栏输入网址访问!
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- android 用户注册或登录时判断输入的是否是正确格式的电话号码
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- php 用户访问菜单页面,必须登录,判断用户是否登录
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- php 用户访问菜单页面,必须登录,判断用户是否登录
- 访问页面时,判断用户是否登录,若没有登录,将跳转到登录页面(一)
- 防止用户不登陆直接输入网址访问页面
- php 用户访问菜单页面,必须登录,判断用户是否登录
- 黄聪:用php判断当前用户访问网站是否为手机登录
- 输入非登录页面,转到登录页面,阻止用户不登录而访问其他页面
- 如何判断用户是否访问过某个网址
- 判断用户是否登录,用户在没有登录访问页面时,自动跳转到登录页面(二)
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,