• 締切済み

ログインコントロールを画面遷移上で複数使いたい

ASP.NET 2.0、SQL server 2008とIIS7.0の、Form認証で以下のような画面遷移を考えています。 (1)最初にログイン用の画面。ログインコントロールが貼ってあるだけ。 (2)(1)でログイン後以降の画面はフォルダを別にし、そのフォルダのWeb.Configで、(1)でログインしたユーザーのみ許可。 (3)(2)の画面に"管理人用ページ"へ遷移するリンクがあり、クリックすると管理人用ログインページを表示する。ログインコントロールが貼ってあるだけ。 (4)(3)でログイン後以降の画面はフォルダを別にし、そのフォルダのWeb.configで(3)でログインしたユーザのみ許可。 (1)でログインできるユーザと(3)でログインできるユーザには重複はないようにしたいんですが、今はまったく同じになってしまっています。 SQL ServerにはaspnetdbというDBが一つだけあるのですが、 たとえば(1)の画面ではaspnetdb_1、(3)の画面ではaspnetdb_3を参照する、などという芸当は可能なのでしょうか。 もしくはaspnetdb1つで、2つの種類のユーザ情報を管理できるのでしょうか。

みんなの回答

  • ape5
  • ベストアンサー率57% (85/148)
回答No.2

ロールで認証の制限というのは、例えば質問でおっしゃっていた、ここのログインコントロールでは、すべてのロールの認証を通すが、別のところのログインことロールでは、認証させないということでしょうか? それをするには、VS.NETが自動で作成する各テーブル、各ストアドを理解し、どこをいじるとよいのかというのを調べないといけないのではないのかなと思います。

nakayamaof
質問者

お礼

ありがとうございます。そういうロール毎の認証を意図してました。 英語版ですが、aspnetdbの資料がMSDNで見つかったので見てみます。

  • ape5
  • ベストアンサー率57% (85/148)
回答No.1

なぜアカウントを2つにわけないといけないのかは、ちょっとわからないのですが、ロールで管理者アカウントと一般のアカウントにわけておけば、web.configでフォルダのアクセス制限をロールごとに変えることができます。

参考URL:
http://msdn.microsoft.com/ja-jp/library/ssa0wsyf(VS.80).aspx
nakayamaof
質問者

お礼

ありがとうございます。 学校で例えると、まず何年何組かでログインして教室に入り、 そのあと名前で個人のログインをして、各々の席に座る、ということがしたかったのです。 ロールでフォルダアクセス制限はできたのですが、ロールで認証の制限はできるのでしょうか?

関連するQ&A