日期:2014-05-17  浏览次数:20425 次

login的"下次记住我"功能为何无效?
login的"下次记住我"功能为何无效?选了也不起作用,是还要加什么代码吗?
C# code

<LayoutTemplate>
。。。。。
<td colspan="2">
                                                <asp:CheckBox ID="RememberMe" runat="server" Text="Remember me next time." 
                                                    style="font-size: 12px" Height="12px" />
                                            </td>
。。。。。



能否给个能实现的代码!谢谢!
注:我已经把login控件转换为模板了!

------解决方案--------------------
和IE设置是否有关系
------解决方案--------------------
不想敲代码
要自己写cookies 主要cookies的名字要和web.config配置匿名登录那里的名字要一直
其他的
http://blog.csdn.net/fancyf/archive/2005/04/15/348202.aspx
很乱
------解决方案--------------------
Internet选项 安全 自定义级别 最下面用户验证
------解决方案--------------------
TextBox 控件的AutoCompleteType
属性由默认的“None”改为“Disable”后,这样便无法运行任何的自动完成功能,也不会有
任何文字自动显示,看是否设置了?
------解决方案--------------------
一般cookie记录
显示“下次记住我”复选框,则将 DisplayRememberMe 属性设置为 true。在登录时选中“下次记住我”复选框,身份验证令牌将被存储在浏览器的持久性 Cookie 中
------解决方案--------------------
探讨
login的"下次记住我"功能为何无效?选了也不起作用,是还要加什么代码吗?

你的后台代码是怎样的???

------解决方案--------------------
注意参数:
bool isPersistent, //是否持久性(根据需要设置,若是设置为持久性,在发出
cookie时,cookie的Expires设置一定要设置)


方法:

public FormsAuthenticationTicket(
int version, //设为1
string name, //用户标示
DateTime issueDate, //Cookie 的发出时间, 设置为 DateTime.Now
DateTime expiration, //过期时间
bool isPersistent, //是否持久性(根据需要设置,若是设置为持久性,在发出
cookie时,cookie的Expires设置一定要设置)
string userData, //这里用上面准备好的用逗号分割的role字符串
string cookiePath // 设为"/",这要同发出cookie的路径一致,因为刷新cookie
要用这个路径
);



验证部分代码(这部分代码是在login.aspx页面上点击了登录按钮事件处理代码):

private void Buttonlogin_Click(object sender, System.EventArgs e)
{
string user = TextBoxUser.Text; //读取用户名
string password = TextBoxPassword.Text; //读取密码
if(Confirm(user,password) == true) //confirm方法用来验证用户合法性的
{
string userRoles = UserToRole(user); //调用UserToRole方法来获取role字符串
FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket (1,user,DateTime.Now, DateTime.Now.AddMinutes(30), false,userRoles,"/") ; //建立身份验证票对象
string HashTicket = FormsAuthentication.Encrypt (Ticket) ; //加密序列化验证票为字符串
HttpCookie UserCookie = new HttpCookie(FormsAuthentication.FormsCookieName, HashTicket) ;
//生成Cookie
Context.Response.Cookies.Add (UserCookie) ; //输出Cookie
Context.Response.Redirect (Context.Request["ReturnUrl"]) ; // 重定向到用户申请的初始页面
}
else
{
// 用户身份未被确认时的代码
}
}