C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: login後ページで名前を表示する


(過去ログ 16 を表示中)

[トピック内 14 記事 (1 - 14 表示)]  << 0 >>

■6024 / inTopicNo.1)  login後ページで名前を表示する
  
□投稿者/ HiRoKo (1回)-(2007/07/30(Mon) 15:10:05)

分類:[ASP.NET (VB)] 

会員ページにログインした後、
ログインした人の名前を表示したいと思っています。

一番簡単そうなLoginNameコントロールを使うと、
ログイン時に使用されたIDが自動的にそのまま表示されてしまいます。

入力されたIDを使ってデータベースを参照し、
IDに対応した名前を取り出したい場合、そのような方法はありますか?

例えば
ログインIDが「hashi0825」
ログイン先で表示したい名前「橋本」

コントロール内の一部の値を変数にするということなのでしょうか。

表示できればどのような方法でも構いません。
また、参考URLなどがあればお教えください。

引用返信 編集キー/
■6027 / inTopicNo.2)  Re[1]: login後ページで名前を表示する
□投稿者/ はつね (217回)-(2007/07/30(Mon) 16:06:36)
No6024 (HiRoKo さん) に返信
> 会員ページにログインした後、
> ログインした人の名前を表示したいと思っています。

やる方法は千差万別。会員ページの利用者数などとも相談して最適解を考えていかなければなりません。

技術的な興味からという事であれば、敷居は高いでしょうがDBを使った方法がお勧め(敷居が高い分、得られる知識も色々な局面でつかえます)。

(1)ログインページを作る(出来合いではなく自前でつくるといいでしょう)
(2)web.configでForm認証を設定する(IISは匿名認証)
(3)作ったログインページで、「ログイン」ボタンをクリックしたときにログインするコードを記述する。
 ここで、DBへログインしてみてもいいし、特定のユーザでDBにログインしてユーザテーブルの情報を使ってもいいでしょう。
 どちらにするかは要件(DBに何をつかうかとか)によります。
(4)ログインに成功したと判断したときには、FormsAuthentication.RedirectFromLoginPage(userID, False)を実行

引用返信 編集キー/
■6034 / inTopicNo.3)  Re[2]: login後ページで名前を表示する
□投稿者/ HiRoKo (2回)-(2007/07/30(Mon) 16:46:03)
No6027 (はつね さん) に返信
> やる方法は千差万別。会員ページの利用者数などとも相談して最適解を考えていかなければなりません。
> 技術的な興味からという事であれば、敷居は高いでしょうがDBを使った方法がお勧め(敷居が高い分、得られる知識も色々な局面でつかえます)。


はつねさん、ありがとうございます。

「技術的な興味から」というよりも「業務上必要になったため」です。

千差万別とありますが 例えば他にはどのような・・・特に、
DBを使わない方法というものはどういったものが考えられますでしょうか?
想像力が乏しいもので、参考にさせて頂ければと思います。

パスワードの変更や再発行などそのまま使いたい機能もあるのですが、
ログインに細かな設定をしたい場合はやはりコントロールを使わずに
自前で作るしか無いのでしょうね


引用返信 編集キー/
■6040 / inTopicNo.4)  Re[3]: login後ページで名前を表示する
□投稿者/ 刈歩 菜良 (78回)-(2007/07/30(Mon) 17:04:40)
刈歩 菜良 さんの Web サイト
名前を常にページに表示したいだけなのであれば、DB接続して名前を入手した後に、Session状態に保持するというのがよくやる方法の一つだと思います。
http://msdn2.microsoft.com/ja-jp/library/87069683(VS.80).aspx

見当違いの回答だったら済みません。
<(_ _)>
引用返信 編集キー/
■6050 / inTopicNo.5)  Re[1]: login後ページで名前を表示する
□投稿者/ Jitta (380回)-(2007/07/30(Mon) 20:07:52)
No6024 (HiRoKo さん) に返信

苦言

1から10まで、あなたの要望を満たすサンプルは、恐らくありません。
そういうものを望なら、もっと質問の範囲を限定してください。例えば、使用するデータベースの種類、認証方法、ログイン情報の保持の仕方、など。

携帯からなので具体的なURLを示せませんが、@ITに、お望みのことをする方法の一つがあります。古い記事なので、探すのに少し苦労します。
引用返信 編集キー/
■6055 / inTopicNo.6)  Re[3]: login後ページで名前を表示する
□投稿者/ はつね (218回)-(2007/07/31(Tue) 00:41:40)
No6034 (HiRoKo さん) に返信
> 「技術的な興味から」というよりも「業務上必要になったため」です。

ならば業務上、ユーザ情報をどのように保存しておけるのかを検討するのが最初です。
例えば、イントラネットなのかインターネットなのか、ユーザ数は多いのか少ないのかなどが検討すべき項目です。
あとは、既存のユーザ情報がすでにあるかないかも重要でしょう。


> パスワードの変更や再発行などそのまま使いたい機能もあるのですが、
> ログインに細かな設定をしたい場合はやはりコントロールを使わずに
> 自前で作るしか無いのでしょうね

業務システムに使うのならば、それこそあたかも自分が作成したもののようにすべてをキチンと理解する必要があるかと思います。事はユーザ認証、セキュリティの部分ですから疎かにしてはいけません。
ちなみに私はどのような機能が必要なのかのサンプルにはするでしょうが業務システムの使おうとは思いません。
引用返信 編集キー/
■6073 / inTopicNo.7)  Re[2]: login後ページで名前を表示する
□投稿者/ HiRoKo (3回)-(2007/07/31(Tue) 14:41:59)
No6050 (Jitta さん) に返信
> 苦言
>
> 1から10まで、あなたの要望を満たすサンプルは、恐らくありません。
> そういうものを望なら、もっと質問の範囲を限定してください。例えば、使用するデータベースの種類、認証方法、ログイン情報の保持の仕方、など。
>
> 携帯からなので具体的なURLを示せませんが、@ITに、お望みのことをする方法の一つがあります。古い記事なので、探すのに少し苦労します。


Jittaさん、ありがとうございます。

100%希望に沿ったサンプルを望んでいたわけではなく、何かのヒントになるものが見つかればという思いでした。
質問の範囲が広く、大変申し訳ありませんでした。

ちなみにデータベースはSQLServer2000、認証方法はSQLServer認証です。
ログイン情報の保持の仕方というものは、恥ずかしながらよく分かっておりません。
Webサイト管理ツールを使っていたのでそれぞれ違うテーブルに分けて保存され、パスワードはこちらからも知ることが出来ません。
しかし自前で作るとなればそうも言ってられませんね。。。

実際業務で使うのはまだ先なのですが、場面が場面だけに疎かには出来ず、
ログインに関しての記述のあるページを探しています。

@ITは何度か見ましたので見つかるか分かりませんがもう一度探してみます。

ありがとうございました。


引用返信 編集キー/
■6074 / inTopicNo.8)  Re[4]: login後ページで名前を表示する
□投稿者/ HiRoKo (4回)-(2007/07/31(Tue) 14:55:00)
No6055 (はつね さん) に返信

はつねさん
再度ご丁寧にありがとうございます。

> ならば業務上、ユーザ情報をどのように保存しておけるのかを検討するのが最初です。
> 例えば、イントラネットなのかインターネットなのか、ユーザ数は多いのか少ないのかなどが検討すべき項目です。
> あとは、既存のユーザ情報がすでにあるかないかも重要でしょう。

ユーザ情報は既存でなく全て新規です。
インターネット上で行い、ユーザ数は10〜50程度です。

こちらで設定したIDとパスワードを個別にお渡しし、各自パスワード変更してもらう
という手順を踏むことが目標です。


> 業務システムに使うのならば、それこそあたかも自分が作成したもののようにすべてをキチンと理解する必要があるかと思います。事はユーザ認証、セキュリティの部分ですから疎かにしてはいけません。
> ちなみに私はどのような機能が必要なのかのサンプルにはするでしょうが業務システムの使おうとは思いません。

そうですね。ユーザ認証、セキュリティの部分は確かに疎かには出来ません。
それ故たくさんのページを見たり本を読んだりはしていますが、
どうにもうまく行かず、こちらで皆様のお知恵を拝借しようと思った所存でございます。

再度セキュリティに観点を置き直し、検討してみたいと思います。
ありがとうございました。

引用返信 編集キー/
■6088 / inTopicNo.9)  Re[3]: login後ページで名前を表示する
□投稿者/ Jitta (382回)-(2007/07/31(Tue) 18:41:27)
No6073 (HiRoKo さん) に返信
> ■No6050 (Jitta さん) に返信
>>苦言
>>
>>1から10まで、あなたの要望を満たすサンプルは、恐らくありません。
>>そういうものを望なら、もっと質問の範囲を限定してください。例えば、使用するデータベースの種類、認証方法、ログイン情報の保持の仕方、など。
>>
>>携帯からなので具体的なURLを示せませんが、@ITに、お望みのことをする方法の一つがあります。古い記事なので、探すのに少し苦労します。
>
>
> Jittaさん、ありがとうございます。
>
> 100%希望に沿ったサンプルを望んでいたわけではなく、何かのヒントになるものが見つかればという思いでした。
> 質問の範囲が広く、大変申し訳ありませんでした。
>
> ちなみにデータベースはSQLServer2000、認証方法はSQLServer認証です。
> ログイン情報の保持の仕方というものは、恥ずかしながらよく分かっておりません。
> Webサイト管理ツールを使っていたのでそれぞれ違うテーブルに分けて保存され、パスワードはこちらからも知ることが出来ません。
> しかし自前で作るとなればそうも言ってられませんね。。。
>
> 実際業務で使うのはまだ先なのですが、場面が場面だけに疎かには出来ず、
> ログインに関しての記述のあるページを探しています。
>
> @ITは何度か見ましたので見つかるか分かりませんがもう一度探してみます。
>
> ありがとうございました。
>
>

引用を編集せずに失礼。

ごめん、わからない。
1から作るんだと思っていた。この返信を読むと、すでになんらかのサイトがあって、そこへ追加するか、シングル サインインで別のサイトをつくるように読めます。

いちから作るのと、すでにあるものに追加するのとで、できることが大きく違うことはわかりますよね?
そういう条件は、最初にきっちり書くようにして下さい。

一応読み直したんだけど、読み落としてる?だったらごめん。
引用返信 編集キー/
■6092 / inTopicNo.10)  Re[5]: login後ページで名前を表示する
□投稿者/ はつね (219回)-(2007/07/31(Tue) 20:15:46)
No6074 (HiRoKo さん) に返信
> ■No6055 (はつね さん) に返信
>>ならば業務上、ユーザ情報をどのように保存しておけるのかを検討するのが最初です。
>>例えば、イントラネットなのかインターネットなのか、ユーザ数は多いのか少ないのかなどが検討すべき項目です。
>>あとは、既存のユーザ情報がすでにあるかないかも重要でしょう。
>
> ユーザ情報は既存でなく全て新規です。
> インターネット上で行い、ユーザ数は10〜50程度です。
>
> こちらで設定したIDとパスワードを個別にお渡しし、各自パスワード変更してもらう
> という手順を踏むことが目標です。

SQL Server 2000でSQL Server認証でって事ですよね。
色々な方法がありますが前提があるならばそれを記述しないと使える情報にはいきつけません。
なぜならば、色々な方法があるという事と目の前の問題解決に色々な方法が使えるかは等価とはいえないからです。
当事者以外に使える方法かどうかを判断できませんが、少なくとも前提条件をきちんと明記してあれば、全然使えない(または素直に使えない)方法を示す人はいないでしょうし、示していたら他の方からつっこみがはいるでしょう。
せっかく質問したのだから、使える回答を得たいですよね?
であるならば、前提はきちんと提示するのが近道というものです。

(1)ログインページを作る(出来合いではなく自前でつくるといいでしょう)
(2)web.configでForm認証を設定する(IISは匿名認証)
(3)作ったログインページで、「ログイン」ボタンをクリックしたときに入力値でSQL Serverにログインする。
(4)ログインに成功した時はユーザテーブルから名前を取得して表示する。
(5)名前とログインID、パスワードと共にSessionオブジェクトに格納する。
(6)FormsAuthentication.RedirectFromLoginPage(userID, False)を実行
(7)各画面ではSessionオブジェクトから名前を取得して表示する。またSQL Serverへ接続するときもSessionオブジェクトに核のうされたログインIDとパスワードを使う


引用返信 編集キー/
■6100 / inTopicNo.11)  Re[4]: login後ページで名前を表示する
□投稿者/ Jitta (383回)-(2007/08/01(Wed) 07:35:38)
2007/08/01(Wed) 07:37:57 編集(投稿者)

http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet19/aspnet19_01.html

これ


http://blogs.wankuma.com/jitta/articles/19119.aspx

ここのリンク先も
引用返信 編集キー/
■6112 / inTopicNo.12)  Re[5]: login後ページで名前を表示する
□投稿者/ はつね (220回)-(2007/08/01(Wed) 11:32:27)
No6100 (Jitta さん) に返信
> http://blogs.wankuma.com/jitta/articles/19119.aspx
>
> ここのリンク先も

リンク先がきれまくってます(MSさんがMSDNのサイト構成かえてるので)。
とりあえずご報告。
引用返信 編集キー/
■6113 / inTopicNo.13)  Re[5]: login後ページで名前を表示する
□投稿者/ HiRoKo (5回)-(2007/08/01(Wed) 11:38:01)
Jittaさん、はつねさん、ありがとうございます。

課題はまだ山のように残されていますが、

とりあえずはLoggedInイベントからUserNameを指定することで
ログインコントロール中のログインの値だけをSession変数で引き渡すことが出来ました。


[login.aspx]
 Protected Sub login1_LoggedIn(ByVal sender As Object, ByVal e As System.EventArgs)
  Session("username") = login1.UserName
 End Sub

[post.aspx]
 ltrName.Text = Session("username").ToString



この先、はつねさんに示して頂いた手順を順を追って確認していきます。
ご指摘頂いたFormsAuthentication…の部分はまだこれからですので
Jittaさんから頂いたURLを元に加えていこうと思っております。

尚、問題点が何なのかを自分自身十分に把握できておらず、
言葉が足りないがために誤解を招いたことを改めてお詫びいたしますと共に

ご親切に対応して頂きありがとうございました。


解決済み
引用返信 編集キー/
■6115 / inTopicNo.14)  Re[6]: login後ページで名前を表示する
□投稿者/ Jitta (384回)-(2007/08/01(Wed) 11:59:48)
2007/08/01(Wed) 12:03:34 編集(投稿者)

No6112 (はつね さん) に返信
> ■No6100 (Jitta さん) に返信
>>http://blogs.wankuma.com/jitta/articles/19119.aspx
>>
>>ここのリンク先も
>
> リンク先がきれまくってます(MSさんがMSDNのサイト構成かえてるので)。
> とりあえずご報告。

ありがとうございます。
クリットしましたorz


default.aspx を付加してコールすればいいみたい。

とにかく、修正中


失敗しても、しつこくリクエストすると、受け付けてくれるみたい。
重いだけ?
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -