2016-05-03 4 views
0

は私がこれを使用しようとすると、私は何もアクセスできませんカントASP.NET C#4.5 でLDAPでのtryログインのためにこれを使用拒否されました(のユーザーを拒否=?)ASP.NET 4.5のC#のActive Directoryのアクセスが

<authentication mode="Forms"> 
    <forms name=".ASPXAUTH" loginUrl="Login.aspx" defaultUrl="Default.aspx" protection="All" timeout="30" path="/" requireSSL="false" slidingExpiration="true" cookieless="UseDeviceProfile" domain="" /> 
</authentication> 
<authorization> 
    <deny users="?"/> 
    <allow users="*" /> 
</authorization> 
<membership defaultProvider="ADConnection"> 
    <providers> 
    <add name="ADConnection" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
      connectionProtection="Secure" connectionStringName="ADConnection" connectionUsername="cpdprt01" connectionPassword="prt2016" attributeMapUsername="sAMAccountName" 
      enableSearchMethods="false"/> 
    </providers> 
</membership> 

試してみると、他のページでは認知されていないブロックをナビゲートできますか? (私はこのデータでログインすることができますが、私は認証接続をブロックできません)

+0

。認証されていないユーザーが引き続きサイトにアクセスできることを意味しますか? –

+0

全く混乱して、簡単にしてください。 –

+0

@GabrielLuci私の英語を残念に思っています。 説明しようとしています... 私はこの設定を使用しても誰も私のウェブサイトにアクセスすることはできませんが、私が私のサイトにアクセスすることができます。 ログイン制御が正しく機能します。私の問題は許可を得ている –

答えて

0

私はまだ問題が何かを理解していませんが、どのように動作するはずですか、 。

?は匿名ユーザーを意味します。

*は誰もが意味します。

したがって<deny users="?"/>は、匿名(認証されていない)ユーザーへのアクセスを許可しないことを意味します。

<forms>タグのloginUrlとして指定したページには適用されません。認証されていないすべてのユーザーがそのページにアクセスできるため、ログインできます。

それはあなたのログインページにリダイレクトされていない場合は、お使いのプロバイダにapplicationNameを追加してみてください:私はかなり理解していない

<add name="ADConnection" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
     connectionProtection="Secure" connectionStringName="ADConnection" connectionUsername="cpdprt01" connectionPassword="prt2016" attributeMapUsername="sAMAccountName" 
     enableSearchMethods="false" applicationName="Something" /> 
+0

これを試してみると、結果は次のようになります。http://puu.sh/oEKUG/d180f9e4c1.png login.aspxにアクセスできません –

+0

Login.aspxにリダイレクトしていませんそれが必要なとき?あなたのプロバイダに 'applicationName'属性を追加してみてください(自分の答えを更新しました)。 –

+0

IISExpressをVisualStudio用に使用すると、ログインコントロールが表示されます。http://puu.sh/oEMAk/c5815984b8.pngしかし、私は認証なしで他のページに入ることができます。 私のIISをこの設定で使用している場合:http://puu.sh/oEMyV/b9ec5db66f.png何も入力できません applicationName = "Sedething" for applicationName = "Expedientes"を変更します –

関連する問題