由于菜单都放在数据库中,∴暂时采用判断页面的地址 截取判断是否存在()
方法有如下几种
一: 采用session验证
判断session变量是否存在,如果存在,即表示用户已登录,否则未登录。
二: 采用Form验证
A:(例子一)
Form验证可以指定一个登录页面,并禁止匿名用户登录,这样用户访问任何页面时,如果没有登录过,会自动转到登录页面,登录成功以后,也能跳到原来的页面。
步骤:
1、修改web.config文件,使其包含如下内容。
<system.web>
<authentication mode="Forms">
<forms name=".ASPXUSERDEMO" loginUrl="login.aspx" protection="All" timeout="60" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
上面的配置信息的意思是采用Form验证,登录页面是login.aspx,登录后如果空闲60分钟,必须重新登录。禁止匿名用户使用系统(必须登录)。
2、编写login.aspx,提供必要的登录内容,并在登录按钮的事件代码中作如下处理。
//根据输入的用户名和密码,和数据库中的账户信息进行比较,代码略
if(ok)//如果成功
{
FormsAuthentication.SetAuthCookie(sUserName,false);
//如果是从其他页面自动调转到本页面,Request["ReturnUrl"]必然有
object oUrlRet=Request["ReturnUrl"];
this.Response.Redirect(oUrlRet==null?"Default.aspx":oUrlRet.ToString());//如果一开始就进入login.aspx,成功以后,应该自动跳到某个页面,如default.aspx
}
else
{
//提示登录失败
}
3、在需要注销的时候,执行一下代码,比如在logout.aspx页面中。
FormsAuthentication.SignOut();//注销
Session.Abandon();//结束Session
注意引用System.Web.Security
B:(例子二)
首先,登录页面(login.aspx)登录时
// 保存用户名,进入系统
FormsAuthentication.SetAuthCookie(txtUserID.Value, false);
this.Response.Redirect("main.aspx", true);
其他页面,
//判断用户是否登录,若没有,退出到登录界面
if(User.Identity.Name=="")
{
Page.RegisterStartupScript("Logout","<script language=javascript>parent.location='login.aspx'</script>");
}
方法有如下几种
一: 采用session验证
判断session变量是否存在,如果存在,即表示用户已登录,否则未登录。
二: 采用Form验证
A:(例子一)
Form验证可以指定一个登录页面,并禁止匿名用户登录,这样用户访问任何页面时,如果没有登录过,会自动转到登录页面,登录成功以后,也能跳到原来的页面。
步骤:
1、修改web.config文件,使其包含如下内容。
<system.web>
<authentication mode="Forms">
<forms name=".ASPXUSERDEMO" loginUrl="login.aspx" protection="All" timeout="60" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
上面的配置信息的意思是采用Form验证,登录页面是login.aspx,登录后如果空闲60分钟,必须重新登录。禁止匿名用户使用系统(必须登录)。
2、编写login.aspx,提供必要的登录内容,并在登录按钮的事件代码中作如下处理。
//根据输入的用户名和密码,和数据库中的账户信息进行比较,代码略
if(ok)//如果成功
{
FormsAuthentication.SetAuthCookie(sUserName,false);
//如果是从其他页面自动调转到本页面,Request["ReturnUrl"]必然有
object oUrlRet=Request["ReturnUrl"];
this.Response.Redirect(oUrlRet==null?"Default.aspx":oUrlRet.ToString());//如果一开始就进入login.aspx,成功以后,应该自动跳到某个页面,如default.aspx
}
else
{
//提示登录失败
}
3、在需要注销的时候,执行一下代码,比如在logout.aspx页面中。
FormsAuthentication.SignOut();//注销
Session.Abandon();//结束Session
注意引用System.Web.Security
B:(例子二)
首先,登录页面(login.aspx)登录时
// 保存用户名,进入系统
FormsAuthentication.SetAuthCookie(txtUserID.Value, false);
this.Response.Redirect("main.aspx", true);
其他页面,
//判断用户是否登录,若没有,退出到登录界面
if(User.Identity.Name=="")
{
Page.RegisterStartupScript("Logout","<script language=javascript>parent.location='login.aspx'</script>");
}
浙公网安备 33010602011771号