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

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

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

Re[9]: ログインユーザーごとにフォームを表示するには?


(過去ログ 10 を表示中)

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

■1934 / inTopicNo.1)  ログインユーザーごとにフォームを表示するには?
  
□投稿者/ ym6 (1回)-(2007/03/08(Thu) 22:52:11)

分類:[VB.NET (ASP.NET)] 

まず、ユーザーが
@登録フォームに入力し、確認ボタンを押す。
A確認フォームが表示され、登録ボタンを押す。
B入力した情報はSQLサーバーへ登録される。
C登録した内容を編集するために、アカウント作成フォームにてアカウントを作成してもらう。
Dアカウント作成時に登録してもらったメールアドレスにユーザー名とパスワードを送信。
Eアカウントを作成したユーザーは送信したユーザー名とパスワードにてログインフォームにてログインする。
Fログインボタンを押して表示される登録フォームを各ログイン名のユーザー専用フォームで開く。
@からEまでは完成しています。
このFのやり方を教えてください。
言語:Visual Web Developer 2005
SQL Server 2005 です。



引用返信 編集キー/
■1935 / inTopicNo.2)  Re[1]: ログインユーザーごとにフォームを表示するには?
□投稿者/ Hirotow (65回)-(2007/03/08(Thu) 23:37:31)
Hirotow さんの Web サイト
認証機構の種類は組み込み(MemberShipProvider)ですか?それとも独自実装ですか?
そこのところがわからないことには回答し辛いです。
また、具体的に何をしたいのかもできるかぎり教えてください。
引用返信 編集キー/
■1936 / inTopicNo.3)  Re[2]: ログインユーザーごとにフォームを表示するには?
□投稿者/ ym6 (3回)-(2007/03/09(Fri) 00:27:42)
認証機構は組み込み(MemberShipProvider)です。登録した情報はApp_Data\MYDB.MDFに格納されています。
アンケートフォームを作って、ユーザーにそのアンケートに入力(住所や氏名など)してもらいます。
入力が終了し、確認ボタンを押して入力内容を確認フォームで確認してもらい、登録ボタンを押して登録になります。
その後、ユーザーが登録内容を編集する場合(住所の変更など)、アカウントを作成し、そのユーザー名とパスワードでログイン画面よりログインしてもらいます。そのときに、ログイン名で登録したアンケートフォームを開き、編集してもらいます。
Hirotowさん、よろしくお願いします。
引用返信 編集キー/
■1938 / inTopicNo.4)  Re[3]: ログインユーザーごとにフォームを表示するには?
□投稿者/ はつね (101回)-(2007/03/09(Fri) 10:09:01)
はつね さんの Web サイト
No1936 (ym6 さん) に返信
> Hirotowさん、よろしくお願いします。

Hirotowさん以外は回答しちゃいけない雰囲気がありますが、掲示板なので名指し回答依頼はルール違反なので無視してみたいと思います。

|ログインボタンを押して表示される登録フォームを各ログイン名のユーザー専用フォームで開く。
との事ですが、その「各ログイン名のユーザ専用フォーム」とはユーザごとに異なるフォームという事でしょうか。
それとも(通常はこちらだと思いますが)登録フォームというフォームの一部が可変で、そこにログインした人の情報が表示されているという事でしょうか。

後者だとしたら、ASP.NETで全体的なデザインを他のフォームと同様に作成して、それのPage_Load(でしたっけ?)の中で、SQL Serverからログインした人に応じた値を設定してあげるようにプログラミングすれば良いのではないでしょうか。
SQL Serverに値を設定する事はできているようですので、Page_LoadでどのようにSQL Serverから値を取得するかは把握できると考えて、その部分についての説明は省略いたします。



引用返信 編集キー/
■1940 / inTopicNo.5)  Re[4]: ログインユーザーごとにフォームを表示するには?
□投稿者/ ym6 (5回)-(2007/03/09(Fri) 10:52:27)
登録フォームというフォームの一部が可変で、そこにログインした人の情報が表示されているという事す。
SQL Serverに値を設定する事はできているようですので→ただ、登録フォームの内容はApp_Data\MYDB.MDFに格納されて、ログイン情報はApp_Data\ASPNETDB.MDFに格納されます。これをひとつにしなければダメですか?
引用返信 編集キー/
■1949 / inTopicNo.6)  Re[5]: ログインユーザーごとにフォームを表示するには?
□投稿者/ Hirotow (66回)-(2007/03/09(Fri) 19:39:48)
Hirotow さんの Web サイト
http://www.microsoft.com/japan/msdn/asp.net/tips/getuser/default.aspx
の手法でユーザー情報を取得
OnLoadであらかじめ作成しておいたフォームに反映
ApplyButton.OnClickで保存

といった感じでできるかと思います。
引用返信 編集キー/
■1951 / inTopicNo.7)  Re[5]: ログインユーザーごとにフォームを表示するには?
□投稿者/ はつね (102回)-(2007/03/09(Fri) 22:48:20)
はつね さんの Web サイト
No1940 (ym6 さん) に返信
> ただ、登録フォームの内容はApp_Data\MYDB.MDFに格納されて、ログイン情報はApp_Data\ASPNETDB.MDFに格納されます。これをひとつにしなければダメですか?

SQL Serverのデータベースを2つに分けれる必要が良くわかりませんが、sqlConnectionを2つ用意してそれぞれ接続して必要なデータを取得すれば良いと思います。
まあ、それよりも1つにしちゃった方が楽だと思いますけど。
引用返信 編集キー/
■1952 / inTopicNo.8)  Re[6]: ログインユーザーごとにフォームを表示するには?
□投稿者/ 中博俊 (984回)-(2007/03/09(Fri) 22:58:22)
中博俊 さんの Web サイト
ブリッジ
http://www.ailight.jp/BBS/Detail.aspx?Header_ID=2218
引用返信 編集キー/
■1955 / inTopicNo.9)  Re[6]: ログインユーザーごとにフォームを表示するには?
□投稿者/ ym6 (7回)-(2007/03/10(Sat) 00:46:28)
No1949 (Hirotow さん) に返信
> http://www.microsoft.com/japan/msdn/asp.net/tips/getuser/default.aspx
> の手法でユーザー情報を取得
> OnLoadであらかじめ作成しておいたフォームに反映
> ApplyButton.OnClickで保存
>
> といった感じでできるかと思います。

OnLoadでフォームに反映させるやり方を具体的に教えてください。あと、ApplyButton.OnClickで保存のやり方も教えてください。
引用返信 編集キー/
■1957 / inTopicNo.10)  Re[6]: ログインユーザーごとにフォームを表示するには?
□投稿者/ ym6 (8回)-(2007/03/10(Sat) 00:53:19)
No1951 (はつね さん) に返信
> ■No1940 (ym6 さん) に返信
>>ただ、登録フォームの内容はApp_Data\MYDB.MDFに格納されて、ログイン情報はApp_Data\ASPNETDB.MDFに格納されます。これをひとつにしなければダメですか?
>
> SQL Serverのデータベースを2つに分けれる必要が良くわかりませんが、sqlConnectionを2つ用意してそれぞれ接続して必要なデータを取得すれば良いと思います。
> まあ、それよりも1つにしちゃった方が楽だと思いますけど。

1つにする方法を教えてもらえますか?
引用返信 編集キー/
■1958 / inTopicNo.11)  Re[7]: ログインユーザーごとにフォームを表示するには?
□投稿者/ はつね (103回)-(2007/03/10(Sat) 01:09:28)
はつね さんの Web サイト
No1957 (ym6 さん) に返信
> 1つにする方法を教えてもらえますか?

元々どうやって2つつくったのでしょうか。

VWDということはSQL Server 2005 Express Editionだと思うのですが、データソースの追加でSQL Serverデータベースファイルを選択して作成するのを2回実施したという事でしょうか。
データソースを1つにして、そこに複数のテーブルを作成すれば良いので、簡単な方法としては、どちらか一方のDBFのみ使うように決断して、もう一方の定義とかデータを残すときめたDBFに再度定義したり入力したりする事です。もしSQL Serverの知識がないとしたら、これが結果的に早道でしょう。

SQL Serverのデータベース間で定義やデータを移動する方法は、SQL Serverについての知識が必要になってきます。
良い機会だと考えて、SQL Serverについて調べて、再定義や再入力しない方法でやってみるというのもひとつの手です。
引用返信 編集キー/
■1959 / inTopicNo.12)  Re[7]: ログインユーザーごとにフォームを表示するには?
□投稿者/ Hirotow (67回)-(2007/03/10(Sat) 01:10:20)
Hirotow さんの Web サイト
No1955 (ym6 さん) に返信
> ■No1949 (Hirotow さん) に返信
>>http://www.microsoft.com/japan/msdn/asp.net/tips/getuser/default.aspx
>>の手法でユーザー情報を取得
>>OnLoadであらかじめ作成しておいたフォームに反映
>>ApplyButton.OnClickで保存
>>
>>といった感じでできるかと思います。
>
> OnLoadでフォームに反映させるやり方を具体的に教えてください。あと、ApplyButton.OnClickで保存のやり方も教えてください。

少しは自分で考えてほしいんだけど。
コードの断片だけを書くのって面倒だし、こぴぺして動くようなものでもない。

全コントロールがrunat=serverなCreateUserWizaedそっくりなフォームを作ってコントロールごとにわかりやすい名前を振っておく→HTMLコントロールになる。
OnLoad でアクティブユーザーを取得してそのうち編集可能なプロパティを手作業で各HTMLコントロールのValueなりTextなりのプロパティに代入する。
OnClickで逆のことをする。

ということ。
引用返信 編集キー/
■1961 / inTopicNo.13)  Re[8]: ログインユーザーごとにフォームを表示するには?
□投稿者/ ym6 (10回)-(2007/03/11(Sun) 07:45:19)
はい、SQL Server 2005 Express Editionです。
2つというのは、@データソースの追加でSQL Serverデータベースファイルを選択して作成する。→App_Data\MYDB.MDF
ACreateUserWizard コントロールを使用しての新規ユーザーを登録→App_Data\ASPNETDB.MDFに格納されるという意味です。CreateUserWizard コントロールを使用しての新規ユーザーの登録情報の格納先を変更するか、登録フォーム自体にユーザー名とパスワード入力欄を作成した方がいいんでしょうか?


引用返信 編集キー/
■1968 / inTopicNo.14)  Re[9]: ログインユーザーごとにフォームを表示するには?
□投稿者/ はつね (104回)-(2007/03/11(Sun) 15:48:55)
はつね さんの Web サイト
No1961 (ym6 さん) に返信
> CreateUserWizard コントロールを使用しての新規ユーザーの登録情報の格納先を変更するか、登録フォーム自体にユーザー名とパスワード入力欄を作成した方がいいんでしょうか?

すべて同一のmdfファイルに格納しないと色々面倒だと思いますよ。
Wizardがどんな動きをするのか把握していないのですが、あとからWizardを使うのではなくて、CreateUserWizardを使用して作成した登録先のmdfファイルをデータソースとして選択して、そこに色々ぶち込むのが想定されている使い方かと思います。

「Wizardつかってできたできた!」ではなく、Wizardがどのようなコードや定義を吐き出しているかを解析して理解しないと、Wizardが生成したところ以外とか、生成した部分と連携(今回はまさにこのケース)した部分を作ろうと思うと先に進めなくなるでしょう。

なお、「登録フォーム自体にユーザ名やパスワード入力欄を作成した方がいいか?」という点ですが、アカウント作成するまえに登録フォームが使えてしまうという点は問題ないのでしょうか。アカウントがないのに登録できるという事は、だれが登録したかが判らないという意味になりますから、あとからアカウントと登録内容をきっちり結びつける事は難しいと思います。他人が登録した内容をアカウント作ったときに指定してしまっても大丈夫って事ですよね。

引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -