2012-01-29 16 views
6

私は、これらのパラメータを持つ作業LDAPサーバーを持っている:ASP.NET MVC:LDAP認証用にweb.configを設定する方法は?

OU=users,OU=mydomain,O=this domain 
User info (append base DN): 
uid=myid 
password=mypwd 

OU=users,OU=mydomain,O=this domain 
LDAP://myhost:389 

私は、次の設定で良いJarek GaworのLDAPブラウザ/クライアントのような汎用LDAPクライアントで成功しアクセスを、

私はASP.NETと同じにしようとしました、常にエラー "間違ったユーザー名またはパスワード"を得ました。 上記のパラメータでweb.configを設定するのを手伝ってもらえますか? 私は、事前に

web.configファイル...

<configuration> 
    <connectionStrings> 
    <add name="ADConnectionString" connectionString="LDAP://myhost:389"/> 
    .... 

<membership defaultProvider="DefaultMembershipProvider"> 
    <providers> 
    <add name="DefaultMembershipProvider" 
     type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
     connectionStringName="ADConnectionString" 
     connectionProtection="None" 
     connectionUsername="MYDOMAIN\myid" 
     connectionPassword="mypwd" 
     attributeMapUsername="sAMAccountName" 
     enableSearchMethods="True" /> 
    </providers> 
</membership> 
...... 

おかげで、connectionUsernameを変更するドメイン名を削除する、などのuid = MYIDを置くよう

のみ項目が欠落している
+0

'mypass'または' mypwd'かそれは単に誤字ですか? –

+0

申し訳ありません@WiktorZychla、それは単なる例でした。私はmypwdとしてパスワードを標準化しました。 THX – Larry

答えて

2

から上記を得ました。

は二つの問題/エラーがありました:

第一)私はコンテナを指定していなかったので、私はケビンのヒント@続く:、私はそれがCN関連だったと思う

<configuration> 
    <connectionStrings> 
    <add name="ADConnectionString" connectionString="LDAP://myhost:389/O=this domain,CN=Users,DC=mydomain,DC=com"/> 
    .... 

Oながら、ここでは省略することができますが、これは大変重要ではないと思います...

第2回DNベースとユーザー名(uid =の形式)を一緒に入れてconnectionUsernameパラメータ:

<membership defaultProvider="DefaultMembershipProvider"> 
    <providers> 
<add name="DefaultMembershipProvider" 
    type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
    connectionStringName="ADConnectionString" 
    connectionProtection="None" 
    connectionUsername="uid=myid, O=this domain" 
    connectionPassword="mypwd" 
    attributeMapUsername="sAMAccountName" 
    enableSearchMethods="True" /> 

私の場合、私はUID = MYIDを置くために必要な、注意してください。これが一般的な解決策であるかどうかはわかりません。おそらくそれは私の会社のADAS設定に関連している、私は知らない。私はこれがあなたの何人かを助けることを願っています...もしあなたがこの解決策が役に立つと思えば、投票してください。

@ケビン:ありがとうございました。あなたはとても助けになりました!

0

は、多くの試行を思いませんでしたデフォルトのouになります。 "/CN = Users、DC = testdomain1、DC = test、DC = com"の下のエントリを追加しようとしましたか?

 

add name="TestDomain1ConnectionString" connectionString="LDAP://testdomain1.test.com/CN=Users,DC=testdomain1,DC=test,DC=com" 

私はそれが次web.configファイルセットアップと連携得ることに成功しましたhttp://msdn.microsoft.com/en-us/library/ff650307.aspx

+0

ありがとう@ケビン。残念ながら、それは動作しません。 とにかく他のLDAPクライアントと一緒にDNベース= "OU =ユーザー、OU = mydomain、O =このドメイン"を設定し、uid = myid&password = mypwdをベースDNに追加します... Mydomain \ mydomain、mydomain \ myid、myd、uid = myidなど。 – Larry

+0

ユーザー名/パスワードにこの問題を引き起こす可能性のある奇妙な文字がないと仮定しています。どのくらいの制御をenvrionment以上に持っているかはわかりませんが、ネットワークパケットを盗聴したり、ADログにアクセスしたりするのも便利です。あなたは明らかに他のすべてを試しました! – bubbly

+0

THXケビン!私はそれが仕事を得るために成功する!ちょうど私は解決策としてここに置くことができません、私の口座限度のために(私は100人未満の代表を持っています)。私は次の8時間に完全な答えを入れます。 2つの問題/エラーがありました。 第一)私はコンテナを指定していなかったので、私はケビンがヒントに続く: 第二)私はconnectionUsernameパラメータ内で一緒にDNベースとユーザー名を入れて: ... connectionUsername =「UID = MYID、O =このドメイン」 これは一般的な解決策であるかどうかわかりませんが、pherapsは私の会社のADAS設定に関連していますが、わかりません。 @ケビン:どうもありがとうございました。私はあなたを助けてくれました! – Larry

0

のWebConfig

<add key="LDAPPath" value="LDAP://ip/DC=company,DC=com" /> 
<add key="LDAPDomain" value="ta" /> 

C#コード

LoginRslt = adAuth.IsAuthenticated(ConfigurationSettings.AppSettings [ "LDAPDomain"]のToString()、_username、_password。)。

関連する問題