2017-05-26 7 views
0
string[] usernames; 
    string[] password ; 
    bool username; 
    bool passok; 
    bool match; 
    string passinp; 
    string userinp; 

    protected void Button1_Click(object sender, EventArgs e) 
    { 


     StreamReader SrUs = new StreamReader("Usernames.txt"); 
     StreamReader SrPass = new StreamReader("Password.txt"); 
     int i = 0; 
     while(!SrUs.EndOfStream) 
     { 
      usernames[i] = SrUs.ReadLine(); 
     } 
     i = 0; 
     while(SrPass.EndOfStream) 
     { 
      password[i] = SrPass.ReadLine(); 
     } 

     if (txt_pass.Text != "" && txt_username.Text != "") 
     { 
      passinp = txt_pass.Text; 
      userinp = txt_username.Text; 
     } 
     else 
     { 
      Label3.Text = "Missing information"; 
     } 

     int j = 0; 
     for(i = 0;i < usernames.Length;i++) 
     { 
      if(usernames[i] == userinp) 
      { 
       username = true; 
       break; 
      } 
     } 
     for(j = 0 ; j < password.Length;j++) 
     { 
      if(password[j]==passinp) 
      { 
       passok = true; 
       break; 
      } 

     } 
     if(username && passok && i == j) 
     { 
      Label3.Text = "Logon Correct"; 
     } 
     else 
     { 
      Label3.Text = "Logon Incorect"; 
     } 
    } 

    protected void Button2_Click(object sender, EventArgs e) 
    { 

    } 
} 

}Asp.Netが、私はこれを実行したときのStreamReader

を使用してTXTファイルは、だから、それは私にそれがTXTファイルを見つけることができないというエラーを与える見つける傾けるそれはasp.netにし、Windowsフォームで同じです私はbinreadとrootフォルダの中にtxtファイルを置くが、同じエラーが出る。

答えて

1

現在のDLLが実際にどこに実行されているのか分かりません。あなたは "bin"ディレクトリを推測しています。

Environment.CurrentDirectoryは、おそらくあなたの最善の策 https://msdn.microsoft.com/en-us/library/system.environment.currentdirectory(v=vs.110).aspx

またはウェブサイトの作業ディレクトリ内のテキストファイル内のユーザ名とパスワードを保存する How do I get the current directory in a web service

TBHはおそらく悪い考えですhttpcontextsにこの質問を参照してくださいです。 Cの外に固定ディレクトリストアを考えてみましょう:\のinetpub \またはADFSまたはデータベースを使用

は、独自のセキュリティCODEあなたが直接システムディレクトリを使用することはできませんASP.NETで

+0

イムのように使用することができます。もし私が誰かのために、または私の個人的な使用のためにこれをやっていたら、おそらくsqlやaccesなどのデータベースをインポートするでしょう。 –

+0

あなたが学生なら、大丈夫です。あなたが先生なら、これは悪いです。 例によって学生が何を学んだのか、それはすごい例です。 –

1

HOMEBAKEしないでください。したがって、Server.MapPath("~/")を使用してアプリケーションのルートディレクトリパスを取得する必要があります。

あなたはちょうど私のクラスのための本当に簡単なプログラミングプロジェクトを作るこの

string FilePath = Server.MapPath("~/") + "Usernames.txt"; 
StreamReader SrUs = new StreamReader(FilePath); 
関連する問題