- 締切済み
ASP.NETでのユーザー認証方法
MySQLとMicrosoft ASPのどちらのカテゴリがいいか判断つかなかったので、とりあえずこちらで質問させていただきます。 MySQL & ASP.NETでWebアプリケーションを構築しようとしています。 アカウント認証によりアクセス制限を行いたいのですが、アカウント情報(ID・パスワード)の管理をどのようにするのがセオリーなんでしょうか? 普段、WindowsアプリケーションでMySQLを使用する場合はユーザーアカウントを管理するテーブルを作成し、マッチするレコードの有無で認証しています。MySQLユーザーはそのWindowsアプリケーション用の1ユーザーです(GRANT ALLではありませんが、ほぼそれに近いです)。 文章での説明が難しいですが、つまり、mysql.userテーブルに登録するユーザーはアプリケーションの代表ユーザー1つのみで、ログオンユーザーごとの制御はアカウント管理テーブルを参照しながらプログラムで行っています。 社内用(LAN内限定)のシステムであれば、上記方法でもセキュリティ的な問題は少ないと思うのですが、Webアプリケーション(外部公開)となると、上記方法ではセキュリティ的に甘いかなと思いました。 アカウント管理はプログラム任せではなく、mysql.userテーブルやmysql.dbテーブルなどで管理するべきなんでしょうか? もちろんアカウント管理テーブルを作成する場合は、パスワードは暗号化して保存するつもりです。 この説明で私の質問の意図が分かっていただけるか自身ありませんが、Webアプリケーションのアカウント認証及びアクセス制限に関して、セオリー的なものを教えていただきたい次第であります。 どうぞ宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- naganaga_001
- ベストアンサー率71% (172/242)
お世話になります。 ASP.NET アプリケーション、 また その先にあるリソースに対する認証や許可制御は、 Microsoft の赤間さんの本が非常に参考になります。 是非ご一読をお勧めします。 [.NETエンタープライズWebアプリケーション開発技術大全〈Vol.4〉セキュアアプリケーション設計編] http://www.amazon.co.jp/NET%E3%82%A8%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A4%E3%82%BAWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%8B%E7%99%BA%E6%8A%80%E8%A1%93%E5%A4%A7%E5%85%A8%E3%80%88Vol-4%E3%80%89%E3%82%BB%E3%82%AD%E3%83%A5%E3%82%A2%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E8%A8%AD%E8%A8%88%E7%B7%A8-%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%BD%E3%83%95%E3%83%88%E3%82%B3%E3%83%B3%E3%82%B5%E3%83%AB%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%86%E3%82%AF%E3%83%8B%E3%82%AB%E3%83%AB%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E2%80%95Microsoft-net/dp/4891004304
お礼
ご回答どうもありがとうございます。 マイクロソフトのサイトで認証やアクセス制限の資料を読んではみたんですが、なかなか簡単には理解できませんでした。加えてデータベースのセキュリティも考慮しないといけないので、Webアプリケーションはクライアントアプリケーションに比べて相当難易度が高いですよね。 教えていただきました書籍は検討いたします。 どうも有難うございました。 これ以上回答がつきそうにないので、一旦締め切らせていただきます。