- PR -

フォーム認証を使用してのNTFSアクセス権限の取得

1
投稿者投稿内容
KOME
常連さん
会議室デビュー日: 2005/02/09
投稿数: 23
投稿日時: 2005-02-22 18:48
C#を使用してASP.NETでWebアプリケーションを開発しています。
Windows統合認証を使用せず、フォーム認証で(ActiveDirectoryには登録されている)ユーザIDとパスワードを入力させ、そのユーザのNTFS権限を取得することは可能でしょうか?
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2005-02-23 10:48
できない、が正解じゃなかったかな?
ActiveDirectoryに登録されているのと同じユーザID、パスワードを
自前でDBにでも持つのであれば認証自体はできないことはないです。
NTFS権限、、、は無理だよなぁ、たしか。
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-02-23 11:28
直接答えにつながるものではないかもしれないですけど、こんなんは見つけました。

http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_10/idnfw11_10_04.html

私も内容を斜め読みしただけなので、全然関係なかったらゴメンナサイ。
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2005-02-23 15:37
過去に書いたソースを引っ張り出してみたら、
LogonUser API を呼んで得られた Token を System.Security.Principal.WindowsIdentity のコンストラクタに渡せば
WindowsIdentity が作れるらしいです。

これに対して Impersonate を実行すればそのユーザの権限で動作することは可能かもしれませんが、ここからは実行していないのでわかりません。
KOME
常連さん
会議室デビュー日: 2005/02/09
投稿数: 23
投稿日時: 2005-02-23 16:50
ご回答ありがとうございます。
Windows統合認証を使用した場合、ActiveDirectoryサーバにログオンしているユーザがWebページを開いた場合、通常はそのまま開ける(ログオン認証画面が表示されない)と思いますが、それを必ず表示させることは可能でしょうか?これが可能であれば、NTFS権限取得もOKなのですが。(開発依頼元の要望として、ADにログオンしていてもしていなくてもWEBページを開くときにログオン画面を表示させてほしいということなので。)
未記入
会議室デビュー日: 2007/08/21
投稿数: 2
投稿日時: 2007-08-21 11:45
引用:

KOMEさんの書き込み (2005-02-22 18:48) より:
C#を使用してASP.NETでWebアプリケーションを開発しています。
Windows統合認証を使用せず、フォーム認証で(ActiveDirectoryには登録されている)ユーザIDとパスワードを入力させ、そのユーザのNTFS権限を取得することは可能でしょうか?

未記入
会議室デビュー日: 2007/08/21
投稿数: 2
投稿日時: 2007-08-21 11:46
引用:

KOMEさんの書き込み (2005-02-22 18:48) より:
C#を使用してASP.NETでWebアプリケーションを開発しています。
Windows統合認証を使用せず、フォーム認証で(ActiveDirectoryには登録されている)ユーザIDとパスワードを入力させ、そのユーザのNTFS権限を取得することは可能でしょうか?

Bessi
会議室デビュー日: 2007/08/10
投稿数: 3
投稿日時: 2007-08-22 08:45
外していたらごめんなさい。

要件が
・ActiveDirectoryのユーザ情報を使ってWebアプリケーションの起動を制限したい
・ユーザにはWebアプリケーション起動時に必ずユーザIDとパスワードを入力させたい
・リソースへのアクセスはログインしたユーザの資格で行う
という3点であるならば、「基本認証」ではダメなのでしょうか。

・IISの「ディレクトリセキュリティ」を「基本認証」のみにする
・「Web.config」に以下の設定を追加する
コード:
<authentication mode="Windows" />
<authorization>
	<deny users="?" />
</authorization>
<identity impersonate="true" userName="" password="" />



としておけば、起動時にユーザIDとパスワードの入力要求があり、
起動後は入力したユーザで偽装されるはずなので、上記3点が
満たせるのではないかと思いますが。
1

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