在安全和非安全的DirectoryServices.AccountManagement.PrincipalContext之间切换

问题描述 投票:1回答:1

我正在努力解决以下问题,这就是我现在所拥有的,但它正在发挥作用。

 public PrincipalContext getPrincipalContext(bool secured)
 {
    PrincipalContext oPrincipalContext = new PrincipalContext(ContextType.Domain,
        secured ?  DomainName + ":636" : DomainName,
        Container,
        secured ? ContextOptions.SecureSocketLayer | ContextOptions.Negotiate : ContextOptions.SimpleBind,
        userName,
        password);
    return oPrincipalContext;
 }

想要做这样的事情

secured ?  PrincipalContext oPrincipalContext = new PrincipalContext(ContextType.Domain,
            DomainName + ":636",
            Container,
            ContextOptions.SecureSocketLayer | ContextOptions.Negotiate 
            userName,
            password); 
        :
          PrincipalContext oPrincipalContext = new  PrincipalContext(ContextType.Domain,
            DomainName,
            Container,
            ContextOptions.SimpleBind);
    return oPrincipalContext;

我认为这是可能的,但无法编译。有人能以正确的方式帮助我吗?

c# asp.net directoryservices
1个回答
0
投票

可能是这样的:

 PrincipalContext oPrincipalContext = secured ? 
         new PrincipalContext(ContextType.Domain,
            DomainName + ":636",
            Container,
            ContextOptions.SecureSocketLayer | ContextOptions.Negotiate 
            userName,
            password); 
        :
          new PrincipalContext(ContextType.Domain,
            DomainName,
            Container,
            ContextOptions.SimpleBind );

或者你为什么不使用if, else

© www.soinside.com 2019 - 2024. All rights reserved.