重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

1.
アカウント作成などで、メールを送るとアカウントを作るページに進めることができるリンクが送られてくると思うのですが、
リンクの有効期間が設定されている場合があると思います。この技術?って何て言う技術ですか?
2.
アカウントを作成しデータペースの中にメールアドレスとハッシュ化したパスワードかすでにあるとき、ユーザーがログインを試みる場合の処理で、
フォームにパスワードとメールアドレスを入力してもらい、その入力してもらったデータに該当するアカウントがあるか調べると思うのですが、sql文のwhereで探すのでしょうか?もしある場合、そこからどう処理すればいいのでしょうか?
ログインフォーム→sqlのアカウントがあるか調べる→ある場合の処理(ここがわからない)→マイペースへ
3
データベース構造についてなのですが、ログイン認証のアカウントを調べるテーブル(全ての登録済みユーザー)に一つ、ユーザー毎に一つで大丈夫でしょうか?

A 回答 (2件)

1.


技術っていうか、発行された日時からの有効期間なだけです。
アカウント作成が指示された際の日時、もしくは有効終了日時をDBで管理していれば、そのURLにアクセスされた際の現在日時との比較で有効かどうか判断できますよね。

2.
そうです。
ログインが通ったら、任意のページへ遷移すればいいでしょう。

3.
ただのログインに必要なテーブルはアカウント管理しているテーブル1つだけです。
どのような認証・認可制御を行うかで変わってきます。
これは考えれば考えるほど、実は複雑なことだったりするので、
ひとまず最も簡単な仕組みでまずは考えたほうがいいかと思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2021/04/15 17:15

1.一般的には、「ユーザ登録」とか「ユーザ認証」処理って言われるのではないでしょうか。


2.通常、DBを使うから、SQL文を使うことになりますね。具体的な処理となると、割とメンドクサイ気がしますね。プログラマの頭と腕のみせどころではないでしょうか?
3.通常、ユーザ毎にテーブルを作るなんてことはしないでしょう。ちなみに、詳しく見てはいませんが、マイクロソフトの.NET CoreでWebアプリを作るときのユーザ管理用テーブルをみると、7つのテーブルが用意されていました。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!