Asp.net Active Directory LDAP: Trying to filter down into a group level-Collection of common programming errors

I have created a login page in asp.net using c# but I am having difficulty trying to only allow a certain group to have access. Right now I am accessing everyone but I can’t seem to just filter the group that I need so only those person(s) can have access to my application.

Any help would be great so I can just permission this application out to that one group within Active Directory.

Here is my class that I am using to pass the groups:

public class LdapAuthentication
{
    private string _path;
    private string _filterAttribute;

    public LdapAuthentication(string path)
    {
        _path = path;
    }

    public bool IsAuthenticated(string domain, string username, string pwd)
    {
      string domainAndUsername = domain + @"\" + username;
      DirectoryEntry entry = new DirectoryEntry( _path, domainAndUsername, pwd);

      try
      { 
        // Bind to the native AdsObject to force authentication.
        Object obj = entry.NativeObject;
        DirectorySearcher search = new DirectorySearcher(entry);
        search.Filter = "(SAMAccountName=" + username + ")";
        search.PropertiesToLoad.Add("cn");
        SearchResult result = search.FindOne();
        if(null == result)
        {
          return false;
        }
        // Update the new path to the user in the directory
        _path = result.Path;
        _filterAttribute = (String)result.Properties["cn"][0];
      }
      catch (Exception ex)
      {
        throw new Exception("Error authenticating user. " + ex.Message);
      }
      return true;
    }

    public string GetGroups()
    {
        DirectorySearcher search = new DirectorySearcher(_path);
        search.Filter = "(cn=" + _filterAttribute + ")";
        search.PropertiesToLoad.Add("memberOf");
        StringBuilder groupNames = new StringBuilder();
        try
        {
            SearchResult result = search.FindOne();
            int propertyCount = result.Properties["memberOf"].Count;
            String dn;
            int equalsIndex, commaIndex;

            for (int propertyCounter = 0; propertyCounter < propertyCount;
                 propertyCounter++)
            {
                dn = (String)result.Properties["memberOf"][propertyCounter];

                equalsIndex = dn.IndexOf("=", 1);
                commaIndex = dn.IndexOf(",", 1);
                if (-1 == equalsIndex)
                {
                    return null;
                }
                groupNames.Append(dn.Substring((equalsIndex + 1),
                                  (commaIndex - equalsIndex) - 1));
                groupNames.Append("|");
            }
        }
        catch (Exception ex)
        {
            throw new Exception("Error obtaining group names. " +
              ex.Message);
        }
        return groupNames.ToString();
    }

    public bool isMember( String groupname )
    {
        DirectorySearcher search = new DirectorySearcher(_path);
        search.Filter = "(cn=" + _filterAttribute + ")";
        search.PropertiesToLoad.Add("memberOf");
        try
        {
            SearchResult result = search.FindOne();
            int propertyCount = result.Properties["memberOf"].Count;

            for (int propertyCounter = 0; propertyCounter < propertyCount;
                    propertyCounter++)
            {
                String dn = (String)result.Properties["memberOf"][propertyCounter];
                // The comma in the regex is important to prevent accidental matches
                if ( Regex.IsMatch( dn, @"cn="+groupname+",.*", RegexOptions.IgnoreCase))
                    return true;
            }
        }
        catch (Exception ex)
        { 
            // Some logging here probably
        }
        return false;
    }
}

It has to be in the Get groups function but I am not sure how to pass the group I am looking for. If anyone can help that would be greatly appreciated. Thanks in advance.

Here is my button click event:

    protected void btnLogin_Click(object sender, EventArgs e)
    {
        // Path to you LDAP directory server.
        // Contact your network administrator to obtain a valid path.
        string adPath = "LDAP://domain.com";
        LdapAuthentication adAuth = new LdapAuthentication(adPath);
        String myGroupName = "Some_Group";

        try
        {
            if (true == adAuth.IsAuthenticated(txtDomainName.Text, txtLoginID.Text, txtPassword.Text))
            {
                if( adAuth.isMember( myGroupName ) )
                  {
                      // User is authenticated and a member of the group. 
                      // Create your auth ticket, cookie, and whatnot
                      // Retrieve the user's groups
                        string groups = adAuth.GetGroups();
                        // Create the authetication ticket
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1,  // version
                                                          txtLoginID.Text,
                                                          DateTime.Now,
                                                          DateTime.Now.AddMinutes(60),
                                                          false, groups);
                        // Now encrypt the ticket.
                        string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
                        // Create a cookie and add the encrypted ticket to the 
                        // cookie as data.
                        HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);

                        // Add the cookie to the outgoing cookies collection.
                        Response.Cookies.Add(authCookie);

                        // Redirect the user to the originally requested page
                        //Response.Redirect(FormsAuthentication.GetRedirectUrl(txtLoginID.Text, false));

                        Response.Redirect("LookupEdit.aspx");   
                  }
                  else
                  {
                      lblError.Text = "Authorization failed. You are not a member of the "+myGroupName+" group";
                  }
                }
                else
                {
                  lblError.Text = "Authentication did not succeed. Check user name and password.";
                }
              }
              catch(Exception ex)
              {
                lblError.Text = "Error authenticating. " + ex.Message;
              }
    }