在注册页面中自动分配角色

时间:2012-08-16 11:16:05

标签: c# asp.net

我有简单的注册页面,其中在提交页面的内容(用户名和密码)后,我需要为用户分配一个角色。 我已经从WSAT GUI创建了两个角色(管理员和成员)。

那我怎么给他指定“成员角色”

这是我的注册表格..

protected void Button1_Click(object sender, EventArgs e)
    {
        string EPass = Helper.ComputeHash(TextBox2.Text, "SHA512", null);
        String var = System.Configuration.ConfigurationManager.ConnectionStrings["KKSTechConnectionString"].ConnectionString;
        SqlConnection conn = new SqlConnection(var);
        String str = @"insert into Users (Username, Pass, EmpID, Rolename)
                                    values(@Username, @Pass, @EmpID, @Rolename)";
        SqlCommand cmd = new SqlCommand(str, conn);
        cmd.CommandText = str;
        cmd.CommandType = CommandType.Text;

        try
        {
            var userName = TextBox1.Text;
            conn.Open();
            cmd.Parameters.AddWithValue("@Username", TextBox1.Text);
            cmd.Parameters.AddWithValue("@Pass", EPass.ToString());
            cmd.Parameters.AddWithValue("@EmpID", DropDownList1.SelectedValue);
            cmd.Parameters.AddWithValue("@Rolename", DropDownList2.SelectedValue); 
            cmd.ExecuteNonQuery();


        }

        finally
        {
            conn.Close();
        }

    }

dbo.Users: 用户名(PK)|通过| EmpID(FK)|角色名

1 个答案:

答案 0 :(得分:0)

因为我说得对你Roles.AddUserToRoles会帮助你。

var userName = TextBox1.Text;
Roles.AddUserToRole(userName, "member"); 

要让用户加入角色,您可以使用Roles.GetUsersInRole(注意:它只会返回其名称)。

PS

最好从框中使用标准membershipMy previous answer可以帮助您。