パスワード認証

タグの編集
投稿者 大初心者  (中学生) 投稿日時 2013/11/15 18:50:39
Visual Basic を初めて3日目の超初心者です。
WebBrowserを作っているんですが
起動時にブラウザを使用するための ID.PWを作りたいんですが
どうすればいいんでしょうか? 

できれば 使用する物? (Buttonなど)詳しく教えていただけると嬉しいです。
3日目のアホの初心者ですがよろしくお願いします。
投稿者 nin  (社会人) 投稿日時 2013/11/15 21:13:03
まだまだ初心者ふぜいな じじい なので、いまいちかもしれませんが

ログインするための、フォームを作成します
最初に起動させます

TextBoxを2個と、ボタンを1個作ります
パスワードを入力するTextBoxのプロパティで、PasswordCharに、* を入力します
ブラウザのform2とすると、簡略化して、以下のような感じです

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        If TextBox1.Text = "id名" Then
            If TextBox2.Text = "password" Then
                form2.show()
                Me.Hide()
            End If

        End If
    End Sub

form2を閉じる前に、form1を表示させるか、form1を閉じる必要があります

 Private Sub Form2_Disposed(sender As Object, e As System.EventArgs) Handles Me.Disposed
        Form1.Dispose()

    End Sub
この部分は、起動フォームに一旦制御をもどしたほうがいいと、以下に投稿でありましたので
そちらを参照してください

中途半端ですいません






投稿者 大初心者  (中学生) 投稿日時 2013/11/15 21:26:50
大変わかりやすい説明ありがとうございます!
わがままですが・・・
これを起動した時にこれだけを表示させて、ID.PWがあっていればブラウザ(?)を
立ち上げさせたいんですが、可能ですか?
投稿者 nin  (社会人) 投稿日時 2013/11/15 23:12:50
説明不足ですいません
Form1が、ログイン用のformです
Id,passが、あっていれば、form2が表示されますので、
言われている動作になるとおもいますが.....。
Id,password を複数判別したい場合は、id,passを記述したファイルを準備
する必要があります。
投稿者 大初心者  (社会人) 投稿日時 2013/11/16 15:35:23
本当にありがとうございます!
m(_ _)m
投稿者 大初心者  (中学生) 投稿日時 2013/11/16 22:34:48
ホントいろいろ質問してすいません><

複数のPWを入れる場合は、どうすればいいんでしょうか?
投稿者 nin  (社会人) 投稿日時 2013/11/22 21:22:06
時間ないので、コードのみ
idパスワードを記述したファイル(コンマ区切り)をサーバに配置
ダウンロードしたら消去しています
厳密をきするなら、暗号化する必要があります

 Dim kidousasenai As Boolean
    Dim idd(1, 100) As String
    Dim count As Integer = 0
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim i As Integer
        If kidousasenai Then MsgBox("最新バージョンが存在する為起動できません") : Exit Sub

        For i = 0 To count - 1

            If TextBox1.Text = idd(0, i) Then
                If TextBox2.Text = idd(1, i) Then
                    Form2.Show()
                    Me.Hide()
                    Exit Sub
                End If

            End If

        Next i
        MsgBox("id又はパスワードが異なっています")

    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        'httpで、ファイルをダウンロード
        Dim wci As New System.Net.WebClient()
        Dim wcp As New System.Net.WebClient()
        Try
            wci.DownloadFile("http://192.168.123.202/test/version.txt", Application.StartupPath + "\version.txt")
            wcp.DownloadFile("http://192.168.123.202/test/id.csv", Application.StartupPath + "\id.csv")
        Catch
            MsgBox("ダウンロードエラーです")
        End Try

        wci.Dispose()
        wcp.Dispose()

        'バージョン確認処理
        If System.IO.File.Exists(Application.StartupPath + "\version.txt") Then
            Dim Reader As New IO.StreamReader(Application.StartupPath + "\version.txt")
            Dim version As Integer = Reader.ReadLine
            Reader.Close()

            If version > 2 Then
                MsgBox("最新バージョンが存在します")
                kidousasenai = True
            End If
        Else
            MsgBox("ファイルが存在しません")
        End If


        'id情報を読み出して配列に格納
        If System.IO.File.Exists(Application.StartupPath + "\id.csv") Then

            Dim Reader As New IO.StreamReader(Application.StartupPath + "\id.csv")
            'CSVの各項目を表す配列
            Dim Line As String = Reader.ReadLine 'CSVの一行
            Dim Items() As String
            '読出し
            Do Until IsNothing(Line)

                Items = Line.Split(",")                   '一行を
                idd(0, count) = Items(0)
                idd(1, count) = Items(1)
                count = count + 1
                Line = Reader.ReadLine                    '次の行を読み込む。
            Loop

            Reader.Close()

            ' System.IO.File.Delete(Application.StartupPath + "\id.csv")

        Else
            MessageBox.Show("ファイルが存在しません")
        End If



    End Sub
投稿者 nin  (社会人) 投稿日時 2013/11/23 08:55:00
説明してませんでしたので、いか解説です。
複数の認証ですが、プログラム内に記述しておくのが簡単ですが、
追加変更は、つどプログラムの変更が必要となります
バージョン確認ファイルをwebサーバー上に置くので、この際認証データも
サーバーに置いてはどうかとの案です
認証用ファイルは、id.csvで内容は、id,password  で、コンマ区切りで記述します
複数は、改行して記入します。
サーバーからのダウンロードですが、httpのほうが容易なので、httpに
変更しています