- PR -

ロールベースのセキュリティチェックについて(ASP.NETのフォーム認証)

1
投稿者投稿内容
ちゃりちゃり
会議室デビュー日: 2002/09/26
投稿数: 3
お住まい・勤務地: 東京都下
投稿日時: 2002-09-26 14:24
はじめまして。ちゃりちゃりと申します。

フォーム認証を利用し、ロールベースでセキュリティチェックを行い、アクセス権がなかったら、アクセス権追加を管理者にメールで依頼するという機能を実装したいのですが、行き詰まっています。

参照元記事のMicrosoft サポート技術情報で、DBに登録したユーザロールをGlobal.asaxで実装する、というのは理解できました。

しかし、サンプルのようにアクセスを許可するロール名をページに記述するのではなく、Web.configファイルの<allow roles="Admin" />でのみ設定したいと考えています。
アクセスが許可されなかったら、Web.configで指定したログインページにリダイレクトされるようですね。
そこで、ログインページにユーザ認証(ログイン名とパスワード)のチェックは完了している(認証クッキーが有効になっている)が、アクセス権の取得に失敗したかという条件で「アクセス権追加依頼ページ」にリダイレクトするようにすればよいのかな、と、思うのですが、その条件の記述がわからなくて困っています。

なお、開発ツールはVisual Studio .NET Professional、言語はC#を使っています。

ヘルプ等を検索しても、検索の仕方が悪いのか、理解力がないのかさっぱり行き当りません。(T_T)
アドバイスを頂けるとありがたく思います。
よろしくお願いいたします。
ちゃりちゃり
会議室デビュー日: 2002/09/26
投稿数: 3
お住まい・勤務地: 東京都下
投稿日時: 2002-09-28 14:14
新しいスレッドで投稿してしまいました。
申し訳ありません!こちらに移動しておきます。
ごめんなさい(泣)

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
元質問者のちゃりちゃりです。
質問の内容ですが、自分でも頭の中が整理できていなかったようで、わかりづらかったと思います。
恐縮ですが、質問を記述してみたことで何が知りたいのかわかったように思い、思いついたキーワードを元に解決できましたので、ご報告させていただきます。
ついでに質問内容も整理してみました。

質問:
ASP.NETフォーム認証のロールベースでセキュリティチェックを行い、アクセス権がなかったら、アクセス権追加を管理者にメールで依頼するという機能を実装したい 。
たとえば、ProtectedPage.aspxに対して以下のようなアクセス制御を行いたいが、条件の記述方法がわからない。

ログオンなし        :LogonPage.aspxへリダイレクト
ログオン済非ロールメンバー :RequestAccessPage.aspxへリダイレクト
ログオン済ロールメンバー  :アクセス可

参考にしたURL:
[HOW TO] C# .NET を使用して、ASP.NET アプリケーションにフォーム ベースの認証とロール ベースのセキュリティを実装する方法
http://support.microsoft.com/default.aspx?scid=kb;ja;JP311495
および
http://msdn.microsoft.com/msdnmag/issues/02/05/ASPSec2/ASPSec2.asp

利用言語:C#

解決:
 認証がまだの場合以外に、アクセス権がない場合もログインページにリダイレクトされるので、ログインページのPage_Loadイベントに次のような条件式を追加する。

if (Request.IsAuthenticated)
//認証済だったら、アクセス権追加依頼ページへ
{
  Response.Redirect("RequestAccessPage.aspx");
}
else
{
  ...認証処理...

以上です。お騒がせいたしました...。
1

スキルアップ/キャリアアップ(JOB@IT)