C# 成员资格提供程序类

C# 成员资格提供程序类,c#,asp.net,C#,Asp.net,我想知道如何实现成员资格提供程序类,以便能够记住登录的用户 我有会员资格提供者类,我需要“记住我”复选框的功能,但我不知道如何实现一些方法如果是C#,我会使用哈希表,由用户id键入。类似这样的(其中lsdfjk是用户ID对应的任何字符串,并且假设定义了一个类UserInfo,构造函数将字符串userID作为参数): 为了实现此功能,您必须在用户计算机上创建具有某个过期日期的持久cookie。因此,如果用户选中“记住我”复选框,您将发出以下cookie: var cookie = new Http

我想知道如何实现成员资格提供程序类,以便能够记住登录的用户


我有会员资格提供者类,我需要“记住我”复选框的功能,但我不知道如何实现一些方法

如果是C#,我会使用哈希表,由用户id键入。类似这样的(其中lsdfjk是用户ID对应的任何字符串,并且假设定义了一个类UserInfo,构造函数将字符串userID作为参数):


为了实现此功能,您必须在用户计算机上创建具有某个过期日期的持久cookie。因此,如果用户选中“记住我”复选框,您将发出以下cookie:

var cookie = new HttpCookie("_some_cookie_name_", "username") 
{
    Expires = DateTime.Now.AddDays(15) // Remember user for 15 days
};
Response.Cookies.Add(cookie);
然后,在显示登录屏幕时,您可以检查cookie是否存在,并预先填充用户名:

var cookie = Request.Cookies["_some_cookie_name_"];
if (cookie != null)
{
    usernameTextBox.Text = cookie.Value;
}
“记住我”实际上与会员资格提供商没有任何关系。基本上,它只是表单身份验证的一个功能,您可以在其中设置一个持久cookie,以便当人们出现在网站上时,它可以自动登录

可以使用RedirectFromLoginPage()方法自动执行此操作

第二个参数“true”表示“设置持久cookie”。用户将登录,直到cookie过期或清除cookie为止


如果您需要对其进行更多控制,您可以通过直接操作cookie集合来手动设置cookie。

您的意思有点不清楚-这里的问题是什么?编写成员资格提供者?还是记录访问权限?我想他是指他需要“记住我”的功能登录屏幕上的复选框。不,我是说写会员资格提供者是,我需要“记住我”的功能但是怎么做呢?对不起,卡米,我现在不知道答案,因为我最近没有这样做。我只是想帮助理解你的问题。希望有人能在几分钟内回答你。为什么不使用强类型的
字典
类?我看到太多人使用
数组列表
哈希表
var cookie = Request.Cookies["_some_cookie_name_"];
if (cookie != null)
{
    usernameTextBox.Text = cookie.Value;
}
FormsAuthentication.RedirectFromLoginPage(username, true);