Click here to Skip to main content
15,906,463 members
Home / Discussions / C#
   

C#

 
GeneralRe: Using Microsoft Agent with C# for win7 or win10 ? Pin
Member 245846727-Oct-19 21:04
Member 245846727-Oct-19 21:04 
GeneralRe: Using Microsoft Agent with C# for win7 or win10 ? Pin
Richard MacCutchan27-Oct-19 22:10
mveRichard MacCutchan27-Oct-19 22:10 
Questioni want count rows per same date in new one row. c# with sqlserver Pin
Mostafa Mohamed23-Oct-19 22:06
Mostafa Mohamed23-Oct-19 22:06 
AnswerRe: i want count rows per same date in new one row. c# with sqlserver Pin
OriginalGriff23-Oct-19 22:22
mveOriginalGriff23-Oct-19 22:22 
QuestionHow do I bind TreeView Selected Item? Pin
User 1459901922-Oct-19 19:52
User 1459901922-Oct-19 19:52 
AnswerRe: How do I bind TreeView Selected Item? Pin
Mc_Topaz24-Oct-19 21:00
Mc_Topaz24-Oct-19 21:00 
QuestionWhy does the Form_Paint event run continuously and only draw once ? Pin
Member 245846722-Oct-19 15:53
Member 245846722-Oct-19 15:53 
AnswerRe: Why does the Form_Paint event run continuously and only draw once ? Pin
Dave Kreskowiak22-Oct-19 17:56
mveDave Kreskowiak22-Oct-19 17:56 
GeneralRe: Why does the Form_Paint event run continuously and only draw once ? Pin
Member 245846723-Oct-19 22:09
Member 245846723-Oct-19 22:09 
GeneralRe: Why does the Form_Paint event run continuously and only draw once ? Pin
Dave Kreskowiak24-Oct-19 4:33
mveDave Kreskowiak24-Oct-19 4:33 
GeneralRe: Why does the Form_Paint event run continuously and only draw once ? Pin
Member 245846724-Oct-19 16:59
Member 245846724-Oct-19 16:59 
GeneralRe: Why does the Form_Paint event run continuously and only draw once ? Pin
Dave Kreskowiak24-Oct-19 18:04
mveDave Kreskowiak24-Oct-19 18:04 
GeneralC # Pin
Member 1461982622-Oct-19 0:45
Member 1461982622-Oct-19 0:45 
GeneralRe: C # Pin
OriginalGriff22-Oct-19 0:57
mveOriginalGriff22-Oct-19 0:57 
QuestionRe: C # Pin
ZurdoDev22-Oct-19 2:59
professionalZurdoDev22-Oct-19 2:59 
AnswerRe: C # Pin
OriginalGriff22-Oct-19 3:32
mveOriginalGriff22-Oct-19 3:32 
GeneralRe: C # Pin
ZurdoDev22-Oct-19 4:04
professionalZurdoDev22-Oct-19 4:04 
GeneralRe: C # Pin
Dave Kreskowiak22-Oct-19 6:07
mveDave Kreskowiak22-Oct-19 6:07 
GeneralRe: C # Pin
Luc Pattyn22-Oct-19 10:23
sitebuilderLuc Pattyn22-Oct-19 10:23 
GeneralRe: C # Pin
Richard Deeming23-Oct-19 1:25
mveRichard Deeming23-Oct-19 1:25 
GeneralRe: C # Pin
Luc Pattyn23-Oct-19 2:56
sitebuilderLuc Pattyn23-Oct-19 2:56 
QuestionLDAP query to ActiveDirectory being whimsical (search by custom attribute broken) Pin
Super Lloyd21-Oct-19 21:30
Super Lloyd21-Oct-19 21:30 
In our web app we have some Active Directory search happening, using custom attribtue, like so
C#
public DirectoryEntry FindEntry(ADUserId id)
{
    if (id == null || !id.IsValid)
        return null;
    using (var search = new DirectorySearcher(RootEntry))
    {
        if (!string.IsNullOrEmpty(id.SAMAccountName))
        {
            search.Filter = $"(&(objectCategory=person)(objectClass=user)(SAMAccountName={id.SAMAccountName}))";
        }
        else if (!string.IsNullOrEmpty(id.InteractName))
        {
            search.Filter = $"(&(objectCategory=person)(objectClass=user)(interactUsername={id.InteractName}))";
        }
        else
        {
            return null;
        }

        var result = search.FindOne();
        var e = result?.GetDirectoryEntry();
        if (e != null)
        {
            id.SAMAccountName = GetProperty(e, "SAMAccountName") as string;
            id.InteractName = GetProperty(e, "interactUsername") as string;
        }
        return e;
    }
}

I am pretty sure it was working before.
But now if fails when searching by interactUsername... OMG | :OMG: Cry | :((

EDIT / REMARK By "not working" I mean this function now returns null when searching for an existing user, whereas it was returning the user's DirectoryEntry before. Also here is a simpler version which clearly show I am using a custom LDAP attribute in the query
C#
public DirectoryEntry FindEntry(string interactName)
{
    if (interactName == null)
        return null;
    using (var search = new DirectorySearcher(RootEntry))
    {
        search.Filter = $"(&(objectCategory=person)(objectClass=user)(interactUsername={interactName}))";
        var result = search.FindOne();
        return result?.GetDirectoryEntry();
    }
}

What kind of ADFS server change could have broken the search by custom attribute?
My googlefu is not working... Frown | :(

SOLVED
interactUsername that was searched for was 'DEV\ldupont' and as you can see in the code above, there was no escaping of special / reserved characters!
Finally stumbled on the escape character substitution table and that fixed the problem! Smile | :)
Search Filter Syntax - Windows applications | Microsoft Docs
A new .NET Serializer
All in one Menu-Ribbon Bar
Taking over the world since 1371!


modified 23-Oct-19 20:39pm.

SuggestionRe: LDAP query to ActiveDirectory being whimsical (search by custom attribute broken) Pin
Richard MacCutchan21-Oct-19 22:41
mveRichard MacCutchan21-Oct-19 22:41 
GeneralRe: LDAP query to ActiveDirectory being whimsical (search by custom attribute broken) Pin
Super Lloyd22-Oct-19 1:07
Super Lloyd22-Oct-19 1:07 
GeneralRe: LDAP query to ActiveDirectory being whimsical (search by custom attribute broken) Pin
Richard MacCutchan22-Oct-19 1:31
mveRichard MacCutchan22-Oct-19 1:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.