@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

ASP.NETのユーザー管理方法について

1
投稿者投稿内容
股の下のポニョ
会議室デビュー日: 2008/09/19
投稿数: 7
投稿日時: 2008-09-19 01:35
はじめまして。
VB.NETでWindowsアプリを構築してきましたが、
この度、ASP.NETデビューすることになりました。

環境はSQL2005+VB.NET2005です。

ログインユーザーの管理をしたく、メンバーシップとログインコントロールを
使用しています。
ログインID、パスワード、メールアドレスはログインコントロールの
機能で対応できたのですが、ユーザーを作成するときに
ユーザー名、住所、電話番号などユーザーの情報を
登録させたたいと考えています。

このような場合、aspnet_Usersテーブルとは別に
ログインIDをキーとした自作のテーブルを作成して
管理するようになるのでしょうか?

またユーザー登録の流れを

1.ユーザー情報入力
2.入力内容の確認
3.ユーザーの仮登録
4.1で入力したメールアドレスに仮パスワード送信
5.仮パスワードでログイン
6.ユーザーの正式登録

としたいと考えております。

このような場合、ログインコントロールをカスタマイズすることで
作成できますでしょうか?
またはメンバシップAPIを使用して自作のフォームを作成するほうが
効率がよいでしょうか?

ユーザーコントロールはパスワードの自動生成ができるようなので
パスワードをユーザーに入力させずに自動生成したパスワードを
メールで送信すれば、メールを受け取るまでは
ログインできないので上記のようなながれで
ユーザー登録することは可能ではないかと考えております。

ユーザーコントロールの標準的な使用方法のサンプルはいくつか
確認できたのですが、カスタマイズするさいに参考になるような
情報がみつけられず、苦戦しております。
サンプルソースがあるサイトなどありましたら教えていただけないでしょうか?

よろしくお願いいたします。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2008-09-19 06:47
Scotto Mitchellさんのサイトを参照してください。
http://aspnet.4guysfromrolla.com/articles/062508-1.aspx

>ユーザー名、住所、電話番号などユーザーの情報を登録させたたいと考えています。
については、Membershipをカスタマイズしたらどうでしょうか。

詳細はGoogleで検索してください。
Keyword: ASP.NET Custom Membership

※あと、これらの情報をProfileに登録する方法もあるかと・・・

_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-09-19 09:58
プロファイルは便利だけど、標準だとすべての項目が1テーブルの中に収まってしまうのでそこから検索したりしたいときには使いにくかったりしますね。
独自のテーブルを作成してプロファイルとしてそこに値を格納するようなサンプルも見たことありますから、そういった方法をとるのがいいかもしれません。

#まぁ、この手のサンプル、英語のものがほとんどなんでそれは覚悟しておくほうがいいかも。
股の下のポニョ
会議室デビュー日: 2008/09/19
投稿数: 7
投稿日時: 2008-10-02 02:54
お世話になります。股下ポニョです。
ご返答が遅れまして申し訳ございません。

教えていただきましたサイトとMSDN
http://msdn.microsoft.com/ja-jp/library/ms178342(VS.80).aspx
を参考にただいま奮闘中です。

おかげさまで、目処をつけることができました。

1.ユーザー情報入力
  createuserwizardコントロールをカスタマイズして
  WizardStepで入力フォームを作成。

2.入力内容の確認
  createuserwizardコントロールのCreateUserWizardStepをカスタマイズ
  して1で入力した内容をLabelに表示。
  UserNameやEmailなど必要なTextBoxは非表示で設置

3.ユーザーの仮登録
  ユーザー情報をdbに登録してロックアウト。
  ユーザーの追加情報は自作のテーブルに登録。

4.1で入力したメールアドレスに仮パスワード送信
  createuserwizardのSendingMailイベントでメール送信。
 
5.仮パスワードでログイン
  メールに記載したアドレスからChangePasswordコントロールを設置した
  ページに誘導。ここでロックアウトを解除。
  メールに記載した初期パスワードをユーザー任意のパスワードに変更。
  ログインページに遷移。

6.ユーザーの正式登録

の流れで行こうと考えております。

また躓いたときにはよろしくお願いいたします。

1

スキルアップ/キャリアアップ(JOB@IT)