 |
|
ต้องการเขียน ldap ให้ติดต่อกับ server
Code (C#)
string strCommu;
bool flgLogin = false;
strCommu = ("LDAP://"
+ (initLDAPServer + ("/" + initLDAPPath)));
// DomainAndUsername = (initShortDomainName + ("\\" + txtUser.Text));
DirectoryEntry entry = new DirectoryEntry(strCommu, txtUser.Text, txtPwd.Text);
object obj;
try {
obj = entry.NativeObject;
DirectorySearcher search = new DirectorySearcher(entry);
SearchResult result;
string filter = "uid=" + txtUser.Text;
search.Filter = (filter);
search.PropertiesToLoad.Add("cn");
result = search.FindOne();
Response.Write(result);
if ((result == null)) {
flgLogin = false;
strErrMsg = "Please check user/password";
}
else {
flgLogin = true;
}
}
catch (Exception ex) {
flgLogin = false;
strErrMsg = "Please check user/password";
}
if ((flgLogin == true)) {
this.lbDisplay.Text = ("Welcome " + txtUser.Text);
}
else {
this.lbDisplay.Text = strErrMsg;
}
ผมอ้างอิงมาจากบทความในเว็บ thaicreate
ส่วนโค้ดด้านล่างนี้เป็นโค้ด php ที่สามารถใช้งานได้จริง
Code (PHP)
$filter = "uid=" . $userid;
$inforequired = array("employeeType","department","thainame","mail","givenName",
"sn","uid","entrydn","gender","jobdescription","position","faculty","campus","idcode");
$result = ldap_search($ldapserver,$base_dn,$filter,$inforequired);
$info = ldap_get_entries($ldapserver,$result);
ปล. ผมขอข้ามโค้ดช่วง connect ldap ไปนะครับ
คำถามคือพอผมมาเขียนใน c# ทำไมมันถึงยังขึ้น Please check user/password ที่ต้องการคือทำยังไงให้มันไปเจอ user ก่อน
สิ่งที่ทำไปแล้วจากบทความ https://www.thaicreate.com/dotnet/forum/041162.html คือ
1.แก้ ldapserver
2.แก้ ldappath
3.ส่วน shortdomain ผมตัดออกเพราะใน php ไม่ได้ใช้ก็เข้าได้
4.แก้ตรง search.Filter = ("(SAMAccountName=" เป็น search.Filter = "uid="
ผมต้องทำยังไง รบกวนผู้รู้มาแนะนำผมที
Tag : .NET, Web (ASP.NET), C#, VS 2017 (.NET 4.x)
|
ประวัติการแก้ไข 2017-09-06 03:56:15 2017-09-06 03:56:40
|
 |
 |
 |
 |
Date :
2017-09-06 03:53:40 |
By :
Twinhat |
View :
1459 |
Reply :
2 |
|
 |
 |
 |
 |
|
|
|
 |