Feed
Google+
Contact
XING
LinkedIn
Twitter
ICQ
meebo.com

LDAP - ein paar C# Codesnippets

by Roland Schumacher alias GENiALi 23. Januar 2007 -- 69 words  -- 86 mal gelesen

Einwenig Code habe ich natürlich auch produziert.
Das meiste mit Hilfe des Internet und einem Forum.

/// <summary>
///
 Ermittelt ob das Passwort abgelaufen ist.
/// </summary>
private bool IsPasswordExpired(DirectoryEntry User)
{
     
const int ADS_UF_PASSWORD_EXPIRED = 0x80000;
     
int val = (int)User.Properties["userAccountControl"].Value;
     
return (val & ADS_UF_PASSWORD_EXPIRED) == ADS_UF_PASSWORD_EXPIRED;
}

/// <summary>
///
 Ermittelt ob das Konto deaktiviert ist.
/// </summary>
private bool IsAccountDisabled(DirectoryEntry User)
{
     
const int ADS_UF_ACCOUNTDISABLE = 0x2;
     
int val = (int)User.Properties["userAccountControl"].Value;
     
return (val & ADS_UF_ACCOUNTDISABLE) == ADS_UF_ACCOUNTDISABLE;
}

/// <summary>
///
 Ermittelt ob das Passwort abgelaufen ist.
/// </summary>
private bool IsExpirePassword(DirectoryEntry User)
{
     
const int ADS_UF_DONT_EXPIRE_PASSWD = (int)ADS_USER_FLAG.ADS_UF_DONT_EXPIRE_PASSWD;
     
int val = (int)User.Properties["userAccountControl"].Value;
     
return (val & ADS_UF_DONT_EXPIRE_PASSWD) == ADS_UF_DONT_EXPIRE_PASSWD;

}

/// <summary>
///
 Setzt das Passwort so, dass es nie Abläuft
/// this.DeUser = new DirectoryEntry(this.DN, g_AuthUserName, g_AuthPassword);
/// </summary>
public void DontExpirePassword()
{
     
const int ADS_UF_DONT_EXPIRE_PASSWD = 0x10000;
     
int val = (int)this.DeUser.Properties["userAccountControl"].Value;
     
this.DeUser.Properties["userAccountControl"].Value = val | ADS_UF_DONT_EXPIRE_PASSWD;
     
this.DeUser.CommitChanges();
     
//this.IstPasswortNieAblaufend = true;
}

/// <summary>
///
 this.DeUser = new DirectoryEntry(this.DN, g_AuthUserName, g_AuthPassword);
/// this.AdUser = (IADsUser)this.DeUser.NativeObject;
/// </summary>
public void UnlockAccount()
{
     
this.AdUser.IsAccountLocked = false;
     
this.AdUser.SetInfo();
}
 

Bei dieser Methode war das ~ (zweitletzte Zeile) ein Problem. Dauerte lange bis ich merkte
wie diese Bitoperation genau tut. Wenn ich ehrlich bin weiss ich es auch jetzt noch nicht. :-)

/// <summary>
///
 this.DeUser = new DirectoryEntry(this.DN, g_AuthUserName, g_AuthPassword);
/// </summary>
public void EnabelAccount()
{
     const int ADS_UF_ACCOUNTDISABLE = 0x2;
      int val = (
int)this.DeUser.Properties["userAccountControl"].Value;
     
this.DeUser.Properties["userAccountControl"].Value = val & ~ADS_UF_ACCOUNTDISABLE;
     
this.DeUser.CommitChanges();
}
 

Alle Angaben ohne Gewähr! :-)

Tags: , ,

Tags: , ,

Allerlei | Entwicklung

Kommentar schreiben

  Country flag

biuquote
  • Kommentar
  • Live Vorschau
Loading

Statistik

Gesamte Posts: 1025
Dieses Jahr: 7
Diesen Monat: 1
Diese Woche: 0
Kommentare: 929
Total Bewertungen: 91
Ø Bewertung: 4,42
Meisten Kommentare
Google+ ... (28)
Beste Ø Bewertung
Tastaturlayout von Visual Stud ... (5)
Meiste Bewertungen
Windows 7 und die ersten Erfah ... (5)

Buttons

Stop Spam Harvesters, Join Project Honey Pot Benutzerprofil von GENiALi connection speed test network connection Bloggeramt.de Slug.ch Blog Verzeichnis und Blog Webkatalog Schumacher Roland Seitwert Valid XHTML 1.0 Transitional

writing