2

ASP.Net (VB.Net を使用) アプリケーションを使用しています。このコード ブロックをローカルでテストして作業すると、問題なく実行されます。

Try
        Dim dc As PrincipalContext = New PrincipalContext(ContextType.Domain, "sanuk")
        Dim adUser As UserPrincipal = UserPrincipal.FindByIdentity(dc, IdentityType.Name, uId)
        Return adUser.EmailAddress
    Catch ex As Exception
        'Return "User Not Authenticated"
        Return ex.StackTrace
    End Try

ただし、初期テストのために開発 Web サーバーに昇格してから、AD からユーザーの電子メール アドレスを取得する代わりに、このエラー メッセージが表示されます。

System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) で System.DirectoryServices.DirectoryEntry.Bind()
で System.DirectoryServices.DirectoryEntry.get_AdsObject() で System.DirectoryServices.PropertyValueCollection.PopulateList()
で System.DirectoryServices.PropertyValueCollection.. System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer() の System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit () の System.DirectoryServices.AccountManagement
の System.DirectoryServices.PropertyCollection.get_Item(String propertyName)の ctor(DirectoryEntry entry, String propertyName) .PrincipalContext.Initialize()



System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx()
で System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper (PrincipalContext コンテキスト、型 principalType、Nullable`1 identityType、文字列 identityValue、DateTime refDate)
で System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithType C:\Work\Simon の ChangeControl.HelpersSystem.GetEmail(String& uId) の System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity(PrincipalContext context, IdentityType identityType, String identityValue) で (PrincipalContext コンテキスト、型 principalType、IdentityType identityType、文字列 identityValue) \ChangeControl\ChangeControl\HelperClasses\HelpersSystem.vb:24行目

私は周りを見回してきましたが、これは私がやろうとしていることと一致する最も近いものです

以前の同様の問題ですが、同じではありません。 これも 私が持っているものと非常によく似た同じ解決策ですが、私のために働いていません

ユーザー名とパスワードも試してみましたが、これも機能せず、同じエラーメッセージが表示されたため、他にどのような変数を提供する必要があるかを教えてください。

私もなしで試してみましたIdentityTypeが、それでも同じ問題が発生します。ありとあらゆる助けが非常に高く評価されています。

4

1 に答える 1

1

これは許可の問題のように聞こえます。Web サイトが実行されているアプリケーション プールをチェックし、必要なアクセス権があることを確認します。

このサイトのアプリケーション プールを作成し、実行中の Active Directory 呼び出しを行うためのアクセス権を持つユーザーとして実行することができます。

ローカル コンピューターでは、必要で機能するアクセスが強化されている可能性があります。デフォルトでは、アプリケーション プールはほとんど何にもアクセスできません。

于 2015-12-07T15:53:06.930 に答える