2014-02-19 53 views
0

我正在设计一个健身web应用程序,允许您注册并登录。注册后,您可以通过输入组的用户名和密码加入组。 我很难检查登录用户是否属于该组。目前,如果您输入了正确的用户名和密码,无论您是否是会员,都将进入该组的入口。 这里是我的代码:验证组成员身份

 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从成员表,并从GroupId的集团的表得到MEMBERID。 我可以使用什么代码来检查我的memberId和GroupId是否与组的用户名和密码匹配。

+0

我已经编辑好标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –

回答

0

你可以第3列添加到AssignGroups表,并把它启用/ Authed等

然后将用户添加到这个设置为true组时,你可以那么做对mmeber和组选的ID

select * from AssignGroups where [email protected] and [email protected] and enabled=1 

,你也可以在一个值添加到每个用户组名为然后将举行的GROUPID,如果列包含值做验证

select * from user where [email protected] and [email protected] 

你也可以允许多个组成员做一个分隔符,以便

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) 

那么当你把它带回来,你可以做的结果。载或string.split然后检查