.net column

.NET開発者のためのブログメディア
ログイン画面

ASP.NETのフォーム認証でログイン機能を実装する方法

2020年04月14日

Webアプリケーションでは、しばしば限られたユーザーにのみ利用できるページを作りたい場合があります。ASP.NETを使えばユーザー登録したデータと照合して、ログインできるようにするフォーム認証機能を簡単に実装可能です。

SE
ASP.NETでログイン機能を実装したいんですけど、どうしたら良いですか?
PL
フォーム認証を使うと、比較的簡単に実装することができますよ。順を追って説明していきましょう。

認証ページ作成の準備

ログインフォームを作成するにあたって、前準備として用意しなければならないことがあります。

  1. web.configファイルの準備
  2. このファイルはユーザー認証情報であるIDとパスワードを記録したもので、この情報をもとにしてログイン認証が行われます。また、このファイルを配置する場所としては、アプリケーション・ルート配下に置かなければなりません。

  3. サブフォルダ配下の設定
  4. 認証を設定する上では、どのファイルに対してどのユーザーからのアクセスを許可するかを定義しなければなりません。これにより、ユーザーごとに決められたページへのアクセス権限を設定することが可能です。

ログインページとロジックの作成

ログインページの作成には、テキストボックスなどでユーザーIDとパスワードを入力できるようにするほか、ユーザーのアクセス可否の判定と、認証された証明として用いるクッキーを発行することが最低限必要です。クッキーを利用することで、画面遷移ごとに必要なユーザー情報を認証確認するロジックを組む手間を、大きく削減することができます。

ログイン認証のコード

パスワードはSHAで暗号化する

web.configにパスワードを直に書いてしまうと、不正アクセスされた場合にIDとパスワードが漏洩してしまう危険性があります。そのため、不可逆な暗号化形式であるSHAを用いて、暗号化する必要があるでしょう。暗号化された文字列が漏洩したとしても元のパスワードを復元することができないので、高い安全性を担保することが可能になります。

SE
思ったより簡単に実装できてしまうんですね。
PL
そうですね。最低限必要な要素さえ押さえておけば問題ないでしょう。

セキュリティ面に気を付ければ難しいことはない

ASP.NETでフォーム認証機能を実装する方法では、特にパスワードの暗号化に配慮する必要があります。ユーザー情報をSHAで暗号化することにより、高いセキュリティを維持することが可能です。あとは入力フォームとユーザー情報ファイルを用意するだけでフォーム認証機能を実装することができます。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)