0

我开发的网站非常简单,我只有三个网页。

  1. 登录.aspx
  2. 注册.aspx
  3. 我的帐户.aspx

登录.aspx 代码:

        if (ValidateUser(email, password))
        {
            FormsAuthenticationTicket tkt;
            string cookiestr;
            HttpCookie ck;
            tkt = new FormsAuthenticationTicket(1, txtUserName.Value, DateTime.Now,
                                                DateTime.Now.AddMinutes(3), chkPersistCookie.Checked,
                                                email + "@ticket");
            cookiestr = FormsAuthentication.Encrypt(tkt);
            ck = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestr);
            if (chkPersistCookie.Checked)
                ck.Expires = tkt.Expiration;
            ck.Path = FormsAuthentication.FormsCookiePath;
            Response.Cookies.Add(ck);

            string strRedirect;
            strRedirect = Request["ReturnUrl"];
            if (strRedirect == null)
                strRedirect = "MyAccount.aspx";
            Response.Redirect(strRedirect, true);
        }
        else
            Response.Redirect("logon.aspx", true);

注册.aspx 代码:

    private bool RegisterUser(string name, string surname, string email, string phone, string pass)
    {
        SqlConnection conn = new SqlConnection(@"Data Source=Server\SQL;Initial Catalog=Db;Integrated Security=True; User ID=user; Password =pass;");
        conn.Open();
        string insertQuery = @"INSERT INTO Users (Email, Name, Surname, Phone, Manager, Rank, Password)
                                VALUES (@Email, @Name, @Surname, @Phone, @Manager, @Rank, @Password)";
        SqlCommand cmd = new SqlCommand(insertQuery, conn);

        cmd.Parameters.Add("@Email", email);
        cmd.Parameters.Add("@Name", name);
        cmd.Parameters.Add("@Surname", surname);
        cmd.Parameters.Add("@Phone", phone);
        cmd.Parameters.Add("@Manager", "Test@Test.com");
        cmd.Parameters.Add("@Rank", "1");
        cmd.Parameters.Add("@Password", pass);

        try
        {
            int rowsAffected = cmd.ExecuteNonQuery();
        }
        catch (Exception e )
        {

            throw;
        }
        finally
        {
            cmd.Dispose();
            insertQuery = string.Empty;
        }

一切都很完美。现在我想要的是 MyAccount.aspx 的 Page_Load:

  1. 获取饼干
  2. 检查用户角色
  3. 基于用户角色显示所需的网站内容。

但我不知道该怎么做。

  1. 我应该参考 cookie 来建立用户角色吗?
  2. 如何根据用户角色生成 HTML?

谢谢!

4

1 回答 1

1

我不认为您想根据角色生成太多 HTML,更像是您希望站点中的内容只能由某些角色访问,即不同的页面和控件。这个 codeproject 页面正在做你需要的。

于 2012-06-10T23:20:09.783 回答