質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

1回答

1080閲覧

MVC データベースを介したログイン画面

退会済みユーザー

退会済みユーザー

総合スコア0

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

1クリップ

投稿2022/08/30 07:10

編集2022/08/31 07:41

前提

MVCを使ってデーターベースを介したログイン実装の画面を作っています

https://qiita.com/ISHII-SingPG/items/a4da0616bc9d4f04acc9
上記のサイトを参考にして、IDとパスワードが決まっている場合はログインすることができるのですが、
データーベースを介すと分からなくなってしまいました。

https://qiita.com/ryo19841204/items/fdd3bee30461074eee64
こちらのサイトを使ってデータベースに接続しました。

実現したいこと

  • データベースを介したログインができるようになりたい

発生している問題・エラーメッセージ

上記(一番上)のサイトのまとめのすぐ上のcontrollerの作成画面で、 // サンプルの為、ハードコーディング if(model.Id == "test" && model.Password == "passwd") { このソースコードを変えればよいのかなと思っています。

該当のソースコード

C#

1 [HttpPost] 2 public ActionResult Login(AuthModel model) 3 { 4 // サンプルの為、ハードコーディング 5 if(model.Id == "test" && model.Password == "passwd") 6 { 7 // ユーザー認証 失敗 8 FormsAuthentication.SetAuthCookie(model.Id, true); 9 return RedirectToAction("Index", "Home"); 10 } 11 else 12 { 13 // ユーザー認証 失敗 14 this.ModelState.AddModelError(string.Empty, "指定されたユーザー名またはパスワードが正しくありません。"); 15 return this.View(model); 16 } 17 }

試したこと

if(model.Id == "test" && model.Password == "passwd")
上記のこの部分に
if(model.Id == Id && model.Password == Password)
と書きましたがエラーになってしまいました。

使用したいSQL
社員マスタ
Id|Password
202201|a
202202 | b
・・・

補足情報(FW/ツールのバージョンなど)

ASP.NET MVC 
Windows 10 Pro,
Visual Studio2022 Version 17.3.2
.NET framework 4.7.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2022/08/30 07:12

入力されたIDとパスワードをもってDBにSELECT投げれば良いと思うのですが、 ハードコーディングにこだわるのは何か理由があるのでしょうか。
m.ts10806

2022/08/30 07:13

現状だと「入力された情報の取得」すらもしてないように見受けられます(コードが一部でどんなエラーが出たのか提示されてないので何とも言えませんが)
退会済みユーザー

退会済みユーザー

2022/08/30 07:14

入力されたIDとパスワードをもってDBにSELECT投げるとはどういうことでしょうか。
退会済みユーザー

退会済みユーザー

2022/08/30 07:15

ASP.NET MVC の話なら ASP.NET のタグをつけて下さい。 開発環境を書いてください。OS, Visual Studio のバージョン、.NET Framework なのか .NET Core/.NET どっちかとそのバージョンなど。
m.ts10806

2022/08/30 07:20

DBを使いたいということではないのですか? DBについてどの程度理解されてるのでしょうか。
退会済みユーザー

退会済みユーザー

2022/08/30 07:23

ASP.NET MVCです。Windows 10 Pro, Visual Studio Installer 17.0.31903.59, Entity Framework 6.4.4です。
退会済みユーザー

退会済みユーザー

2022/08/30 07:23

> https://qiita.com/ISHII-SingPG/items/a4da0616bc9d4f04acc9 > 上記のサイトを参考にして、 今時古い Forms 認証で書いてる記事は見ない方がいいです。(どうしても古い Forms 認証でなければならないとか言う理由があれば話は別ですが。 そこを見直す余地はありますか?
退会済みユーザー

退会済みユーザー

2022/08/30 07:25

データベースを使用したいと思っています。MVC上でデータベースを使うことが初めてでどこに何を書いたら良いのか分からない状態です。 データベースに関してはSELECT文など基本的なことは理解しているつもりです。
退会済みユーザー

退会済みユーザー

2022/08/30 07:25

> Framework 6.4.4です。 そういうのはないです。プロジェクトのプロパティのターゲットフレームワークを見てください。
退会済みユーザー

退会済みユーザー

2022/08/30 07:30

>今時古い Forms 認証で書いてる記事は見ない方がいいです。(どうしても古い Forms 認証でなければな>らないとか言う理由があれば話は別ですが。 MVC ログインと調べるとこのような記事ばかりで、参考にしてしまいました。 新しいForm認証で書いている記事はどのような記事ですか?
退会済みユーザー

退会済みユーザー

2022/08/30 07:31

> https://qiita.com/ryo19841204/items/fdd3bee30461074eee64 > こちらのサイトを使ってデータベースに接続しました。 初心者の方のようですが、であれば、とりあえずは MySQL を使うのはやめましょう。敷居が高くて、余計な労力が必要で、そこで挫折するかも。 最初は LocalDB を使ってください。そのあとで、MySQL を使うにはどうするかを考えることをお勧めします。
退会済みユーザー

退会済みユーザー

2022/08/30 07:33

>そういうのはないです。プロジェクトのプロパティのターゲットフレームワークを見てください。 失礼いたしました。対象のフレームワークというところですか? 対象のフレームワークでしたら.NET framework 4.7.2です。
退会済みユーザー

退会済みユーザー

2022/08/30 07:35

ASP.NET MVC の話なら ASP.NET のタグをつけて下さい。
退会済みユーザー

退会済みユーザー

2022/08/30 07:36

> 新しいForm認証で書いている記事はどのような記事ですか? ASP.NET Identity でググってください。
退会済みユーザー

退会済みユーザー

2022/08/30 07:38

>最初は LocalDB を使ってください。そのあとで、MySQL を使うにはどうするかを考えることをお勧めします。 なるほど。敷居が高いのですね。ではLocalDBを使用していきたいと考えています。
退会済みユーザー

退会済みユーザー

2022/08/30 07:40

> 対象のフレームワークでしたら.NET framework 4.7.2です。 OS, Visual Studio のバージョンと共に質問欄に追加情報として追記してください。
退会済みユーザー

退会済みユーザー

2022/08/30 07:40

>ASP.NET MVC の話なら ASP.NET のタグをつけて下さい。 変更遅くなりすみません。 >ASP.NET Identity でググってください。 丁寧にありがとうございます。
退会済みユーザー

退会済みユーザー

2022/08/30 07:43

>OS, Visual Studio のバージョンと共に質問欄に追加情報として追記してください。 かしこまりました。
退会済みユーザー

退会済みユーザー

2022/08/30 12:41

で、結局どうしたいのですか? ASP.NET Identity を使うことに方針変更したなら、そのように質問を書き直してください。
退会済みユーザー

退会済みユーザー

2022/08/30 22:24

> Visual Studio Installer 17.0.31903.59 インストーラーではなく Visual Studio 本体のバージョンを書いてください。
退会済みユーザー

退会済みユーザー

2022/08/31 00:13

>で、結局どうしたいのですか? ASP.NET Identity を使うことに方針変更したなら、そのように質問を書き直してください。 ありがとうございます。自分一人で作業しているわけではないので相談してみます。
退会済みユーザー

退会済みユーザー

2022/08/31 00:33

聞かれたことには答えてください。話が通じなくなりますので。 > Visual Studio Installer 17.0.31903.59 インストーラーではなく Visual Studio 本体のバージョンを書いてください。
退会済みユーザー

退会済みユーザー

2022/08/31 02:48

>聞かれたことには答えてください。話が通じなくなりますので。 どこにかいてあるのか分からなくて探しています。
退会済みユーザー

退会済みユーザー

2022/08/31 03:39

Visual Studio 2017 なのか 2019 なのか 2022 なのかは分かるのでは? 17.3.3 とかのバージョン情報は Visual Studio を開いて[ヘルプ(H)]⇒[Microsoft Visual Studio のバージョン情報(A)]を見ればわかります。
退会済みユーザー

退会済みユーザー

2022/08/31 07:40

Visual Studio 2022 Version 17.3.2でした。 ありがとうございます。
退会済みユーザー

退会済みユーザー

2022/09/01 00:54

いつまでも放置しておかないで、ASP.NET Identity を使うのか Foms で進めるのか決めて先に進めるか、もし、もうこのスレッドでの話は不用になったとかであればその旨書いてクローズしてください。
guest

回答1

0

if(model.Id == Id && model.Password == Password)

投稿2022/09/01 04:44

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/09/01 05:35

自己流はダメです。素人が自己流で認証システムを実装しても使い物にならないしセキュリティホールだらけになるのは目に見えてます。 だから、ASP.NET Identity を使うようアドバイスしてるのに、それを無視して自己流で自己解決にするなら最初から質問しないでほしい。
退会済みユーザー

退会済みユーザー

2022/09/01 05:41

ASP.NET Identityを調べて相談してみたところ、使わないやり方を直接聞いたのでこのスレッドはいらないと思い、自己解決しました。 SurferOnWwwさんコメントのおかげで違う方法があることにも気づけました。ありがとうございます。
退会済みユーザー

退会済みユーザー

2022/09/01 09:28

だったら最初からあなたが直接聞いたという人に聞いて解決すべき。回答者やあなたの質問を見て考えてくれた閲覧者に対して無礼千万。そういうことに思い至らない人にはここで質問してほしくないね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問