2011-09-29 20 views
8

Windowsサーバーのディレクトリをパスワードで保護する必要があります。ページには、そのディレクトリにあるファイルのリストが表示されます。私は以前の知識はありません(前にApacheでしか働いていない)ので、私はグーグルで何かをハッキングしようとしました。web.configのパスワード保護フォルダ

(彼らは、私はこれはばかげて見えるだろうと確信してやっていることを知っている人のために)私が今持っている私は、ログイン・ポップアップを得ることですが、パスワードが作業していません。 SQLデータベースにadminusers用のテーブルがありますので、そこからuser-loginを取得するか、ログインファイルをconfigファイルに埋め込んでも問題ありません。私が必要とするのは、フォルダをパスワードで保護することだけです。

これは私がパスワードで保護されたことになっているフォルダにある私のweb.configファイルで、今持っているものです。

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.web> 
     <authentication mode="Forms"> 
      <credentials passwordFormat="Clear"> 
       <user name="test" password="test" /> 
      </credentials> 
     </authentication> 
     <authorization> 
      <allow users="test" /> 
      <deny users="*" /> 
     </authorization> 
    </system.web> 
    <system.webServer> 
     <directoryBrowse enabled="true" /> 
     <security> 
      <authentication> 
       <anonymousAuthentication enabled="false" /> 
       <basicAuthentication enabled="true" /> 
       <windowsAuthentication enabled="false" /> 
      </authentication> 
     </security> 
    </system.webServer> 
</configuration> 

うまくいけば、これは簡単な問題であり、事前のお手伝いをお願いいたします。 :)

+0

あなたは基本認証のミックスを持っているし、その上に行くフォーム認証がどのように見えます。あなたがテスト/テストがポップアップで動作することを期待しているなら、それはしません。基本認証には、私が信じるサーバー上のWindowsユーザー名/パスワードが必要です。あなたはまだセッションなどして使用して「カスタム」ログインを行うことが可能であろうと思います –

+0

など、ログインページ:あなたのいずれかは、そのルートを行く、または基本認証を取り除くとをFormsAuthenticationの残りの部分を実装する必要があります"directoryBrowse"? – hesselbom

+1

何らかの形でポップアップウィンドウをフォームの代わりにログインとして使用することはできますか? – hesselbom

答えて

3

ことは、これを試してみてください:

<configuration>  
    <system.web>  
     <authentication mode="Forms">  
      <credentials passwordFormat="Clear">  
       <user name="test" password="test" />  
      </credentials>  
     </authentication>  
     <authorization>  
      <allow users="test" />  
      <deny users="*" />  
     </authorization>  
    </system.web>  
    <location path="admin"> 
     <system.web> 
      <authorization>    
       <allow roles="admin" /> 
       <deny users="*"/> 
      </authorization> 
     </system.web> 
    </location> 
    <system.webServer>  
     <directoryBrowse enabled="true" />  
     <security>  
      <authentication>  
       <anonymousAuthentication enabled="false" />  
       <basicAuthentication enabled="true" />  
       <windowsAuthentication enabled="false" />  
      </authentication>  
     </security>  
    </system.webServer>  
</configuration> 

あなたはこのようなものを使用してユーザー情報を暗号化することができます

aspnet_regiis.exe -pef "sectionName" C:\Path\To\Your\Application 
+0

どこにこれを置くのですか?私の質問で私が言及したルート上のconfigファイルまたはconfigファイル内にありますか?これはどこからユーザー情報を取得しますか? – hesselbom

+1

system.webセクションの外で、あなたのweb.configファイルでそれを入れてください。 –

+0

私は自分の答えを編集して、どこに置くかを示しました。 –

関連する問題