質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Cookie

HTTPにおけるCookieとは、クライアントのウェブブラウザ上に保存された一時的なデータを指します。クライアント側のJavaScriptでも、サーバー側のHTTPヘッダーでもクッキーの読み書き・修正・削除が可能です。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

1769閲覧

vb.netで最初にページを読み込んだ時にのみcookieのデータを使用したい

ryuuzu

総合スコア30

Cookie

HTTPにおけるCookieとは、クライアントのウェブブラウザ上に保存された一時的なデータを指します。クライアント側のJavaScriptでも、サーバー側のHTTPヘッダーでもクッキーの読み書き・修正・削除が可能です。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2020/03/22 07:01

visualstudioでVB.netを使用しています。

ユーザーのログインページにてcookieでユーザーIDとパスワードが自動で入力されるように設定したいです。
そこで以下のようなコードで入力をしました

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Request.Cookies("TB_SYAINCD") Is Nothing Then TB_SYAINCD.Text = "" TB_SYAINCD.Text = Server.HtmlEncode(Request.Cookies("TB_SYAINCD").Value) End If If Not Request.Cookies("TB_PASSWORD") Is Nothing Then TB_PASSWORD.Text = "" TB_PASSWORD.Text = Server.UrlDecode(Request.Cookies("TB_PASSWORD").Value) End If End Sub
'ログインフォームでID、パスワードが一致した時にcookieに残しておくコード Response.Cookies("TB_SYAINCD").Value = TB_SYAINCD.Text Response.Cookies("TB_SYAINCD").Expires = DateTime.Now.AddDays(10) Response.Cookies("TB_PASSWORD").Value = Server.UrlEncode(strNM) Response.Cookies("TB_PASSWORD").Expires = DateTime.Now.AddDays(10)

ページを読み込んだ際にcookieのデータがあればそれをID及びパスワードを入力するフォームの
TB_SYAINCDとTB_PASSWORDに入れるイメージでコードを組みました。

同じ人が同じID、パスワードでログインするならこれでいいのですがloadイベントのためにログインボタンを押すとクッキーのユーザーの情報が必ず入るようになり、他のユーザーが見ることができません。

最初にページを開いたとき、ページ遷移してきたときのみ行われるイベントってありますか?また、どのようにしてコーディングしたらよろしいでしょうか?

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/03/22 23:33 編集

何の話ですか? ASP.NET Web Forms アプリの話のように見えますけど、そうならそうと書いて、ASP.NET のタグを付けてください。 開発環境(OS, .NET Framework, Visual Studio のバージョン、使っているブラウザは何かなど)を書きましょう。
退会済みユーザー

退会済みユーザー

2020/03/22 09:07

ユーザー認証の話をしているようですが、認証システムは何ですか? ASP.NET 標準の認証システムであれば、質問に書いてあるようなことをするのはあり得ない話で、何か全くの見当違いのことをしているような気がしますけど。 独自認証システムなら、ここに書いてあること以外は知り得ない第三者に、あなたの「独自」が分かるような情報を提供してください。
guest

回答1

0

ベストアンサー

ASP.NET Web Forms アプリのユーザー認証の話で、ASP.NET 標準のクッキーベースの認証システム(古くはフォーム認証、最近では ASP.NET Identity)を使っていると勝手に理解してレスします。

そして、

ユーザーのログインページにてcookieでユーザーIDとパスワードが自動で入力されるように設定したいです。

・・・の目的は、一旦ログインしたユーザーがログアウトしないままブラウザを閉じた後、再度ブラウザを立ち上げてサイトにアクセスした際、再度ログイン操作をしなくてもログイン状態が継続され、認証が必要なページにアクセスできるようにすることだと理解してレスします。

その理解が正しければ、質問に書いてあるようなことをするのはあり得ない話で、全くの見当違いです。

Visual Studio のテンプレートを使って ASP.NET Web Forms アプリのプロジェクトを生成する際、設定によってASP.NET 標準のクッキーベースの認証システムを実装できます。

例えば、Visual Studio 2019 のテンプレートを使って ASP.NET Web Forms アプリのプロジェクトを作る場合、以下のように認証に「個別のユーザーアカウント」を選択すれば ASP.NET Identity ベースのユーザー認証システムが実装されます。

イメージ説明

さらに、新規ユーザーの登録ページ、ログインページも自動生成してくれます。ユーザー登録すると EF Code First の機能を使って SQL Server データベースを自動生成してくれ(一番最初の登録操作の時のみ)、そこにユーザー情報を保存してくれます。

イメージ説明

登録済のユーザーは以下のログイン画面で[このアカウントを記憶する]にチェックを入れてログインすれば、認証クッキーは HDD /SSD に保存されるので、ブラウザを閉じた後、再度ブラウザを立ち上げてサイトにアクセスした際でも、再度ログイン操作をしなくてもログイン状態が保たれます。(チェックを入れない場合はブラウザを閉じれば認証クッキーは削除されます)

イメージ説明

というわけで、ASP.NET 標準の認証システムを使うことを考えてみてください。

どうしても質問者さん独自の認証システムを実装する必要があるということなら、ここに書いてあること以外は知り得ない第三者に、あなたの「独自」が分かるような情報を提供してもらえないと回答は出てこないと思います。(提供してもらっても答えは出てこない可能性は大ですが)

投稿2020/03/23 02:32

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryuuzu

2020/03/23 03:01

ありがとうございます!VisualStudioのユーザー認証にそのような機能があるとは知らず独自で作成しようとしておりました。まさにこのような機能がほしかったのでこちらで改めて作成してみます!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問