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

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

新規登録して質問してみよう
ただいま回答率
85.46%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

Q&A

解決済

2回答

2469閲覧

最近流行ってるログイン方式(認証)を教えてください

morinokuma0621

総合スコア81

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

0グッド

0クリップ

投稿2021/07/05 06:55

現在、Visual Studio 2019 + C# を使い、IIS10の環境でWEBサイト(ASP.NET Webアプリケーション、.NET Framework)を作っています。

社外の人間がログインするため、セキュリティはそこそこ必要ですが、限られた数しか使わないため、ユーザが自分でユーザ登録をして使うような仕組みは入れたくありません。

今まで、Windows認証、フォーム認証、匿名認証、基本認証しか使ったことがなく、フォーム認証はかなり古い認証方式だったはずなので、今の時代にも使っていいものかどうかがよくわかりません。

そこで、最近流行っているログインの認証方式を教えていただけないでしょうか。

そもそもASP.NET でサイトを作ろうとしていること自体が古いってことは自覚しています……が、ちょっと新しい技術を身に着ける時間がないので、これでも使える新しいセキュアなやつを探しています。よろしくお願いいたします。

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

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

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

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

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

m.ts10806

2021/07/05 07:11 編集

新しいか古いか より 正しく安全に認証できるか を本来争点とすべきでは? 流行りものに乗せようとしても自身がついていけなかったり、そもそも要件に合ってなければ意味がありません。 (それに採用理由が「流行ってるから」ではユーザー納得しないのでは)
dodox86

2021/07/05 07:26

> ASP.NET でサイトを作ろうとしていること自体が古い え、そうなのでしたっけ。そんなこと別に無いと思うのですけれども。Web Formsが.NET5以降サポートされなくなる程度のことは聞いてますが。(食い付くところが違う)
gentaro

2021/07/05 07:31

https://teratail.com/help/avoid-asking > teratailは困っている人の質問を解決するサービスです。そのため、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。 流行り廃りが知りたいなら自分でキーワード考えてググって出てきたページを読み漁るなり、GitHub等で自分が作りたいものと似たモノを作ってる人を探して調べるなり、なんぼでもやりようがあるでしょう。
morinokuma0621

2021/07/05 07:47

こういう質問はダメなんですね。失礼しました。 流行ってるかどうかは単純に、どうせ覚えるなら長く使える技術を知りたいという理由からでした。ぶっちゃけ万が一不正に使われても被害はたかが知れてるので、口頭で使うなって言えばいいレベル、ユーザ認証自体必要ないかもというレベルなので、安全性もガン無視で良かったんで、こんな質問になりました。 個人開発しかしないのでGitHubも使ったことはありませんし、似たようなものを探すことも自分の技術が低すぎるのでおそらく不可能です。他人のコード見てもわかりません。そんなレベルなんで、漠然としすぎてて調べようもなくてここに頼ったんですが、ダメなんですね。
gentaro

2021/07/05 07:56

漠然とした興味じゃなく、具体的に困っている理由を説明できるのであれば良いと思いますけど、コメントを読む限りそうでもなさそうなんで、ガイドライン的にはダメでしょうねぇ。 単純にすぐ思いつきそうなキーワード(C#とかASP.NETとかに「認証」を加えて)でググって出てくるブログ記事等を片っ端から読んで、比較的更新が新しい記事で多く利用されるものが何か、みたいな調べ方でもあなたの需要はだいたい満たせるでしょうし、公式リファレンスで認証に関する記述を読めばどういったものが推奨されているのかとか、複数候補があればそれぞれググってどの程度ヒットするのかとか、他人のソースコード抜きにしても調べる方法はいくらでもあります。 そんな作業だけなら技術力とか関係ないんで、そこも言い訳にならんと思いますが。
morinokuma0621

2021/07/05 08:03

ありがとうございます。それで検索してMicrosoftで更新日が去年のサイトも出てきましたが、出てくる情報が18年前のものと変わらないものばっかりで、本当に今でもこれ使っていいのかっていう疑問がぬぐえなかったのでこの質問になりました。
gentaro

2021/07/05 08:08

Microsoftのドキュメントを読んだのであれば、そこに明確に「古いから使わないでくれ」とでも書いてない限り、使って良いと判断するもんだと思いますが。特に去年まで更新されてるなら、使っちゃダメだったその更新の時点でそう書きます。 また、それを読んだ上で疑問に思った、という話も後出しじゃなく、最初から質問文に書くべきですね。無駄なやり取りが発生するんで。
otn

2021/07/05 09:23

2021/07/05 16:47 のコメントのような内容を整理した状態で最初から質問に書いておけば良かったのにと思います。 ただ「安全性もガン無視で良かったんで、」&「どうせ覚えるなら長く使える技術を知りたい」ということは、今後もずっと安全性ガン無視のサイトしか作らないと言うことなんですよね。
guest

回答2

0

ユーザが自分でユーザ登録をして使うような仕組みは入れたくありません。

今までどうしていたんですか?

匿名認証以外はユーザー情報がサーバー側にないと何ともならないはずです。「ユーザが自分でユーザ登録」は NG という条件であれば、サーバー管理者が登録する他ないと思いますけど。

フォーム認証はかなり古い認証方式だったはずなので、今の時代にも使っていいものかどうかがよくわかりません。

.NET Framework がサポートされているうちは使っても良いと思います。フォーム認証に用いる Membership クラス、MembershipUser クラス、SqlMembershipProvider クラスなども非推奨とかにはなってないですし。

ただし、VS2019 のテンプレートはフォーム認証のプロジェクトを生成してくれませんので、認証なしで作って、フォーム認証を自力で実装することになります。自力で実装と言っても web.config に手を加える、登録・ログインページを実装するぐらいで、VS2010 のテンプレートで作ったフォーム認証のプロジェクトを参考に容易にできると思います。

今までフォーム認証に不都合はなく、特にフォーム認証で使ってきた DB を引き続き使うという場合は、フォーム認証を選んでいいと思います。

最近流行っているログインの認証方式を教えていただけないでしょうか。

「最近流行っている」かどうかは知りませんが、VS2019 のテンプレートで作るプロジェクトの認証では以下のものが選択できます。

イメージ説明

「個別のユーザーアカウント」というのは ASP.NET Identity ベースの認証システムで、フォーム認証を置き換えたものです。フォーム認証と同様にユーザー情報を DB に保持して認証クッキーベースでユーザー認証を行います。

フォーム認証が古いからイヤだとか、ASP.NET Identity で提供される新しい機能が必要とかいう場合はこれが選択肢になるのではないでしょうか。

「ASP.NET Identity」の登場背景と実際の使い方
https://codezine.jp/article/detail/7709

「職場または学校アカウント」というのは Microsoft 社の提供するクラウドサービスを利用する場合に使われる Azure Active Directory ベースの認証システムだそうです。すでにそういうサービスの提供を受けているならこれが選択肢の一番に来るかもしれません。自分は使ったことがないので多くは語れませんので、ご自分でググって調べてください。

そもそもASP.NET でサイトを作ろうとしていること自体が古いってことは自覚しています

Web サイトプロジェクトのことを言ってるのでしょうか? であれば、確かに古いのですが、古いからダメってことは決してなくて、Web サイトプロジェクトなりのメリットもあります。(運用中のサーバーのファイルの中から 1 ページのみ差し替えることができるなど)

VS2019 でも Web サイトプロジェクトは作れます。詳しくは以下の記事を見てください。

VS2019 で Web サイトプロジェクト作成
http://surferonwww.info/BlogEngine/post/2020/04/23/web-site-template-in-visual-studio-2019.aspx

ただし、認証は選ぶことができず自動的に ASP.NET Identity ベースの認証システムが実装されますが。

投稿2021/07/06 02:09

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

自己解決

こういう質問はダメなんですね。
失礼しました。

投稿2021/07/05 07:36

morinokuma0621

総合スコア81

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

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

m.ts10806

2021/07/05 09:26

解決してない内容で「解決した」とするのはもっとダメです。 誰の参考にもなりません。 質問編集して指摘されたことを対応すればアドバイスもつきやすくなるのではないでしょうか。 ひとまず受付中に戻してください
a.com

2021/07/05 11:14

それは質問者が決めることではないでしょうか?
m.ts10806

2021/07/05 11:16

a.comさん この回答が当質問の回答になっているかどうか、「解決済みの回答」としてどうかという観点で考えてください。
a.com

2021/07/05 11:26

利用規約に違反してない限り自由だと思います。低評価はつくと思いますが。
m.ts10806

2021/07/05 11:28

ええ、ですから。低評価したうえで理由と「解決するためにとるべきアクション」をコメントしています。強制力はないですが、だからって放置していいわけではないです。
Zuishin

2021/07/05 11:30

「他のユーザーの多くから低い評価を得るような回答」と「ダメな回答」は同じ物。というところから教えないとだめなんでしょうね。
dodox86

2021/07/05 12:04

しっかり書いてありますね。 [回答の評価について知りたい] https://teratail.com/help#aboutReplyVote > 低評価(-)がつく回答 > > 間違っている回答 > 質問の回答になっていない投稿 > スパムや攻撃的な表現など不快な投稿 まぁ、私個人的には質問の内容に少々興味があったので、こういう成り行きで終わり、残念です。
退会済みユーザー

退会済みユーザー

2021/07/05 23:12

ここ teratail は「質問と回答を通してお互いに知識や情報を交換・共有する場所です」ということです。 https://teratail.com/help/question-tips こういう形で終わらせるのはその趣旨から外れるし、さらには情報蓄積にならない (ノイズにしかならない) ということで NG だと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問