在网站上跟踪用户的最佳方式?

时间:2011-05-21 09:01:20

标签: c# asp.net session state

我正在阅读会话状态,应用程序状态,Cookie,个人资料......我想知道我将如何适应我的网站。

我正在建立一个论坛,我需要检查用户是否已登录。如果他没有登录,他将不会有已登录用户的选择(例如,按回复/开始线程/提交消息按钮)。基本上,我想在用户PC上种植一个cookie。但是有些浏览器不允许使用cookie,那么我认为我会为不允许使用cookie的用户提供会话状态。我查看了会话状态已经获得的会话配置的模式,并且有一个我喜欢的..它是mode =“sqlServer”,但后来我读到它有一个慢的缺点,我需要安装一些组件以使其工作..换句话说,它看起来很麻烦。我也查看了配置文件选项,我认为这是一个解决方案..一旦用户登录,我就可以设置他的名字。这些方面的东西:

  protected void updateProfileButton_Click(object sender, EventArgs e)
  {
    Profile.Name = nameTextBox.Text;
    Profile.Age = Int16.Parse(ageTextBox.Text);
  }

我有最好的选择,?我正在考虑将cookie与分析结合使用!!

1 个答案:

答案 0 :(得分:2)

如果您只需要一种允许用户在登录时访问其他功能的机制,那么请查看ASP.NET Forms身份验证:

  

ASP.NET Forms Authentication Overview

<强>更新

回答下面评论中的两个问题:

  

我应该将此用户身份设置为   曲奇饼? User.Identity.Name;

不,一旦您对用户进行了身份验证,ASP.NET的Forms身份验证提供程序就会为您配置cookie。

  

是否会添加自动密码   web.config?

不,它不会,您需要编写自己的机制来存储用户的详细信息,这些信息通常会从用户注册页面中捕获(例如用户名,密码,名称,年龄等)例如,您可以使用SQL或Access数据库,或者您可以使用ASP.NET成员资格提供程序:

  

Introduction to Membership