簡體   English   中英

驗證組成員身份

[英]Validating Group Membership

我正在設計一個健身網絡應用程序,該應用程序允許您注冊和登錄。注冊后,您可以通過輸入組的用戶名和密碼來加入組。 我在檢查登錄用戶是否屬於該組時遇到困難。 目前,如果您輸入正確的論壇用戶名和密碼,則無論您是否是會員,都將進入該論壇的門戶。 這是我的代碼:

     SqlConnection con = new SqlConnection(@"Connection string");


        con.Open();

        SqlCommand cmd = new SqlCommand("select COUNT(*)FROM Groups WHERE GroupName='" + txtGroupUsername.Text + "' and Password='" + txtGroupPassword.Text + "'");

        cmd.Connection = con;



        int OBJ = Convert.ToInt32(cmd.ExecuteScalar());
        if (OBJ > 0)
        {

            cmd.CommandText = "Insert into AssignGroups(MemberId,GroupId) Select Members.MemberId, Groups.GroupId From Members, Groups Where Members.Username= '" + lblRegistered.Text + "' And Groups.GroupName= '" + txtGroupUsername.Text + "'";





            Response.Redirect("GroupMembersM.aspx");
        }
        else
        {
            lblError.Visible = true;

            lblError.Text = "Invalid username or password";

        }
    }

目前,我的數據庫中有一個AssignGroups表,該表從成員表中獲取memberId,從組表中獲取GroupId。 我可以使用什么代碼來檢查我的memberId和GroupId是否與該組的用戶名和密碼匹配。

您可以將第三列添加到AssignGroups表中,並將其命名為Enabled / Authed

然后,在將用戶添加到組時,將其設置為true,然后可以對mmeber和組ID進行選擇

select * from AssignGroups where groupid=@group and memberid=@member and enabled=1

您還可以為每個稱為group的用戶添加一個值,然后該用戶將持有groupid並進行驗證(如果列中包含該值)

select * from user where memberid=@id and groupid=@group

您還可以通過使用分隔符來允許多個組成員身份,這樣

update members set [name, email, group] values [@name, @email, @group]
command.add.parameterswithvalue("@name", value)
command.add.parameterswithvalue("@email", value)
command.add.parameterswithvalue("@group", value + "-" + value + "-" + value)

然后當您將其放回時,您可以對結果執行.contains或string.split,然后檢查

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM