前台
<script language="javascript">
function ChangeClick(id)
{
if(id=="1")
{
if( document.getElementById('<%=chbNoExpire.ClientID %>').checked==true)
{
document.getElementById('<%=chbNoExpire.ClientID %>').checked=false;
}
return false;
}
if(id=="2")
{
if(document.getElementById('<%=chbExpire.ClientID %>').checked==true)
{
document.getElementById('<%=chbExpire.ClientID %>').checked=false;
}
return false;
}
}
</script>
<p> 免登陆时间:<input type="checkbox"
/>永久
</p>
后台:
//在第一次登陆的时候,记录cookie 并加密
protected void btnLogin_Click(object sender, EventArgs e)
{
DateTime dtExpire = chbExpire.Checked ? DateTime.Now.AddDays(30) : DateTime.Now.AddMonths(600);
string ip = CommonHelper.GetCurrentIP();
string userInfo = _userEty[0].ID.ToString() + "|" + ip;
FormsAuthenticationTicket ticket =
new FormsAuthenticationTicket(1, "userInfo", DateTime.Now, dtExpire, false, userInfo);
String cookieStr = FormsAuthentication.Encrypt(ticket);
// Send the cookie to the client
Response.Cookies["userInfo"].Value = cookieStr;
Response.Cookies["userInfo"].Path = "/";
Response.Cookies["userInfo"].Expires = dtExpire;
}
//退出清空cookie
protected void btnLoginOut_Click(object sender, EventArgs e)
{
Session.Clear();
HttpCookie cookie = Request.Cookies["userInfo"];
if (cookie != null)
{
cookie.Expires = DateTime.Now.AddDays(-2);
Response.Cookies.Set(cookie);
}
InitTab_BeforeLogin();
ShowTabBeforeLogin();
}
//页面加载时:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//设置cookie
if (Context.Request.Cookies["userInfo"] != null)
{
FormsAuthenticationTicket ticket2 = FormsAuthentication.Decrypt(Context.Request.Cookies["userInfo"].Value);
//convert the string representation of the role data into a string array
string[] strInfo = ticket2.UserData.Split(new char[] { '|' });
string id = strInfo[0].ToString();
//初始化登陆后的数据
}
}
|
请发表评论