パスワード認証 への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 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
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
投稿者 大初心者  (中学生)
投稿日時
2013/11/16 22:34:48
ホントいろいろ質問してすいません><
複数のPWを入れる場合は、どうすればいいんでしょうか?
複数のPWを入れる場合は、どうすればいいんでしょうか?
投稿者 大初心者  (社会人)
投稿日時
2013/11/16 15:35:23
本当にありがとうございます!
m(_ _)m
m(_ _)m
投稿者 nin  (社会人)
投稿日時
2013/11/15 23:12:50
説明不足ですいません
Form1が、ログイン用のformです
Id,passが、あっていれば、form2が表示されますので、
言われている動作になるとおもいますが.....。
Id,password を複数判別したい場合は、id,passを記述したファイルを準備
する必要があります。
Form1が、ログイン用のformです
Id,passが、あっていれば、form2が表示されますので、
言われている動作になるとおもいますが.....。
Id,password を複数判別したい場合は、id,passを記述したファイルを準備
する必要があります。
投稿者 大初心者  (中学生)
投稿日時
2013/11/15 21:26:50
大変わかりやすい説明ありがとうございます!
わがままですが・・・
これを起動した時にこれだけを表示させて、ID.PWがあっていればブラウザ(?)を
立ち上げさせたいんですが、可能ですか?
わがままですが・・・
これを起動した時にこれだけを表示させて、ID.PWがあっていればブラウザ(?)を
立ち上げさせたいんですが、可能ですか?
投稿者 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
この部分は、起動フォームに一旦制御をもどしたほうがいいと、以下に投稿でありましたので
そちらを参照してください
中途半端ですいません
ログインするための、フォームを作成します
最初に起動させます
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 18:50:39
Visual Basic を初めて3日目の超初心者です。
WebBrowserを作っているんですが
起動時にブラウザを使用するための ID.PWを作りたいんですが
どうすればいいんでしょうか?
できれば 使用する物? (Buttonなど)詳しく教えていただけると嬉しいです。
3日目のアホの初心者ですがよろしくお願いします。
WebBrowserを作っているんですが
起動時にブラウザを使用するための ID.PWを作りたいんですが
どうすればいいんでしょうか?
できれば 使用する物? (Buttonなど)詳しく教えていただけると嬉しいです。
3日目のアホの初心者ですがよろしくお願いします。
複数の認証ですが、プログラム内に記述しておくのが簡単ですが、
追加変更は、つどプログラムの変更が必要となります
バージョン確認ファイルをwebサーバー上に置くので、この際認証データも
サーバーに置いてはどうかとの案です
認証用ファイルは、id.csvで内容は、id,password で、コンマ区切りで記述します
複数は、改行して記入します。
サーバーからのダウンロードですが、httpのほうが容易なので、httpに
変更しています