Ahh godkännande som jag ser.
Så du testar LDAP-auth här:
DirectoryEntry tillträde = nya DirectoryEntry (_path, domainAndUsername, pwd);
Och det är fin, dig upprättar den legitimerade anslutningen. Men därefter du försök och bygger searcheren för gruppnågot liknande detta:
DirectorySearcher sökande = nya DirectorySearcher (_path);
Du har tappat den legitimerade anslutningen, och nu du är pröva att passera i _path som skapar en unauthenticated anslutning för understödja, i stället en legitimerade DirectoryEntry.
Idealt du skulle lagret ”tillträde” och bruk det.
e.g.
namespace FormsAuth
{
allmänhet klassificerar LdapAuthentication
{
_entry offentliga DirectoryEntry;
offentlig bool IsAuthenticated (stränga området, stränger username, stränger pwd),
{
//Update den nya banan till användaren i arkivet.
_filterAttribute = (stränga), resultat. Rekvisita [”cn”] [0];
_entry = result.GetDirectoryEntry ();
}
, om därefter du legitimeras, du kan handtag memberOfattribut från DirectoryEntryen ganska än söka igen i GetGroups:
Inte-testad // I funderare…
Stränga [] memberOf = _entry. Rekvisita [”memberof”]
Chris