Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
ログイン成功後、IDとユーザー名を各フォームで使用したい
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=17599#CommentId49234
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2014/6/10 23:24:45
> ログイン成功後、IDとユーザー名を各フォームで使用したい
先のコードでは、ログイン成功後の「IDとユーザー名」を、
Sub Main 内のローカル変数『Dim account As UserInfo』で管理し、
表示する各画面に、その情報を受け渡すという方針を採っています。
SQL Server の Management Studio は、複数のユーザーで接続が可能ですが、
それと同様に、将来的にマルチユーザーログインが可能なアプリケーションが求められても、
fAdmin = New fmMain( 管理者アカウント )
fAdmin.Show()
fGuest = New fmMain( 体験版アカウント )
fGuest.Show()
のようにして、同じ画面を認証ユーザーごとに並行して開くといった芸当も可能になります。
一方、常にシングルログインしか認めないようなアプリであれば、
現在のログイン情報を、一箇所にまとめて管理しておいた方が便利です。
その場合は、この account As UserInfo な変数を、ローカル変数ではなく
アプリケーション全体から見えるような場所に配置すると良いでしょう。
たとえば、Module を用意してそこに Public Account As UserInfo などと宣言するとか、
ログイン画面自体の Shared メンバーとして Public Shared Account As UserInfo とするとか、
あるいは、UserInfo クラスそのものをシングルトンクラスとするなどの手法です。
このほか、現在のユーザー情報を My.User.CurrentPrincipal プロパティの
プリンシパルで管理するという方法もあります。この方法は、SQL Server に
Windows 認証で繋いでいる場合に丁度良いかもしれません。