ActiveDirectory と標準フォームのログインの両方を機能させようとしていますが、1 つのことが妨げになっています。現在の Windows ユーザーの名前を取得できません。最も近いのは ですがvar i = WindowsIdentity.GetCurrent();
、これで IIS アプリ プール ユーザーの名前がわかります。IIS で匿名認証、フォーム認証、および Windows 認証を有効にしています。AD からユーザーをロードできるので、web.config が正しくセットアップされていると仮定します。
編集:これは私のweb.configです(Facadeプロバイダーを使用):
<membership defaultProvider="HybridMembershipProvider">
<providers>
<clear />
<add name="HybridMembershipProvider" type="MyApp.Data.HybridMembershipProvider" AspNetProviderName="AspNetSqlMembershipProvider" ActiveDirectoryProviderName="ADMembershipProvider" />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="MyAppConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
<add name="ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADConnectionString"
attributeMapUsername="sAMAccountName" enableSearchMethods="true" attributeMapEmail="mail"/>
</providers>
</membership>
編集 2: これが私の IIS セキュリティ設定です。