問題タブ [impersonation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ネットワーク リソース、Asp.Net アカウントにアクセスするために、ユーザーを偽装する必要があります。
特定のドメイン アカウントのみがアクセスできるネットワーク リソースにアクセスする必要があります。LogonUser 呼び出しを使用していますが、Web アプリケーションが asp.net アカウントで実行されており、この呼び出しを行うための適切なアクセス許可がないため、"ユーザーに必要な権限がありません" という例外が発生します。
それを回避する方法はありますか?ASP.Net アカウントの ID またはアクセス許可を変更することはできません。これは、多くのプロジェクトが実行されている運用マシンであるためです。これを達成するためのより良い方法はありますか?
Asp.Net 2.0、フォーム認証を使用します。
敬具。
asp.net - 偽装が無効になっているにもかかわらず、ASP.NETaspxページコードが偽装されて実行される
VS2005でASP.NETアプリケーションとして作成された空のテストアプリがあります。MSDNによると
既定では、ASP.NETは偽装を使用せず、コードはASP.NETアプリケーションのプロセスIDを使用して実行されます。
そして私は次のweb.configを持っています
したがって、記事が示唆しているように、なりすましは無効になっているようです。
私のaspxはデフォルトで空白で、コードビハインドは
ページをリロードすると、次のデバッグ出力が表示されます。
[5288]前1:現在のプリンキュパル= DOMAIN \ User [5288]後:現在のプリンキュパル= DOMAIN \ User
出力はと同じです
Webサイトはデフォルトのアプリケーションプールを使用し、プールはワーカープロセスにNETWORKSERVICEアカウントを使用するように設定されています。アプリケーションが使用する必要のあるweb.configを使用し、w3p.exeワーカープロセスがネットワークサービスで実行されていることを確認します。
この場合、何が間違っている可能性がありますか?
ありがとう!
@編集:ロブ、ヒントをありがとう!$ userショートカットは、すべてが期待どおりに行われていることを示しています。偽装すると、ユーザーNT AUTHORITY \ NETWORK SERVICEを実行しているプロセスがあり、スレッドにはWindowsIdentity.Impersonate(IntPtr.Zero)の前にDOMAIN\Userがあります。なりすましではありません。」後。ただし、Thread.CurrentPrincipal.Identity.NameとHttpContext.Current.User.Identity.Nameは、両方の場所でDOMAIN\Userを提供します。
@Edit:Thread.CurrentPrincipalとHttpContext.Current.Userを変更するには、手動で行う必要があることがわかりました。
ここで何がポイントなのかわかりませんが、とにかく。現在、SharePoint共有サービスがユーザープロファイルのアクセス許可を管理することに問題がありますが、それは別の質問です。
asp.net - ASP.NET: VMWare 上のドメインに対して偽装する
VMWare マシンで実行されている ASP.NET アプリケーションでドメイン ユーザーになりすます必要があります。VMWare マシン自体がドメイン内にないため、ASP.NET はユーザー トークン (web.config で指定) を解決できません。それを行う方法はありますか?
前もってありがとう、ペトル
c# - C#: ローミング プロファイルを読み込み、ユーザーとしてプログラムを実行する
アプリケーションでは、別のユーザーの資格情報を使用して他のプログラムを実行する必要があります。現在、私はSystem.Diagnostics.Process.Startを使用してプログラムを実行しています:
ただし、この機能は必要なネットワークからローミング プロファイルをロードしません。
「runas /profile ...」を使用してプロファイルをロードし、コマンドを実行することもできますが、それではパスワードが要求されます。もっとエレガントな方法があるはずです...
しかしここで?
.net - System.Diagnostics: ID を使用してログに記録する方法
System.Diagnostics に基づいてトレースを実装しました。
System.Diagnostics.TextWriterTraceListener も使用しており、トレース全体を MOSS 2007 Web アプリケーションに接続しています。
何らかの理由でトレースが (a) ログ ファイルの作成、および/または (b)現在 SharePoint サイトを閲覧しているユーザーを使用してログ ファイルへの書き込みを試みています。特定のログを使用するようにログを構成する方法はありますか?代わりにユーザーアカウント?
sharepoint - log4net を独自の ID で実行するように構成できますか?
MOSS(SharePoint) 2007 プロジェクトで log4net を使用することを考えていますが、特定のユーザー名とパスワードを使用してログを記録するように簡単に構成できるかどうかを知る必要があります。
asp.net - ASP.NET の偽装と SQL Server の信頼できる接続の呼び出し
私は、要求しているユーザーをコードで偽装する ASP.NET ページに取り組んでいます。次のコードを使用して、なりすましを開始します。
この後、以下を呼び出して、アプリケーションが適切なコンテキストで実行されていることを検証しました。
これにより、ユーザーの適切な ID が返され、ファイル アクセスやその他の項目がユーザーのアカウントを使用しているように見えます。ただし、Microsoft アプリケーション データ アプリケーション ブロック SqlHelper クラスを使用して、信頼できる接続認証を使用してデータベースを呼び出すと、「NT AUTHORITY\ANONYMOUS LOGON」ユーザーの認証が失敗します。
失敗した後、現在の ID がまだ目的のアカウントであり、ANONYMOUS LOGIN アカウントではないことを再検証できます。
これがなぜなのか誰にも分かりますか?または、より具体的には、どのように回避できますか?
これらのページからの呼び出しがどのように機能するかについての追加情報を編集します。
.aspx ページから偽装呼び出しを行います。
偽装した後、参照される「ビジネス ロジック」アセンブリを呼び出します。
ここでもコンテキスト ID が正しいことがわかっています。
その後、「ビジネス ロジック」アセンブリは、信頼できる接続呼び出しを実際に実行する別のアセンブリを呼び出します。この「データ アクセス」アセンブリを変更することはできません。このアセンブリによっても認証例外が報告されます。
visual-sourcesafe - VisualSourceSafeで別のユーザーになりすます
従業員に会社を辞めてもらい、VSSデータベースにいくつかのファイルをチェックアウトしたままにしました。それらのファイルを解放できるように、そのユーザーになりすますための最良の方法は何ですか?
asp.net - asp.net のなりすまし
Exchange で動作する Web アプリケーションを作成しているため、Exchange に対する管理者権限を持つアカウントを偽装する必要があります。このアカウントは、セットアップ時にユーザーによって指定されます。このアカウントを偽装して使用するための最良の方法は何ですか。変更できるようにする必要があるため、明らかにこれを web.config にハードコーディングすることはできませんが、それを行うための最良の方法はわかりません。また、実際には、この管理ユーザーとして実行する必要があるのは 1 つのクラスだけですが、一部のメソッドだけを偽装することは可能ですか?
c# - なりすましと委任
以下のように、UNC共有上のファイルにアクセスするために偽装を使用しています。
IIS6 を使用する 2 台の Windows 2003 サーバーで、偽装レベルが異なります。1 つのサーバーでは委任、もう 1 つのサーバーでは偽装です。
これにより、「偽装」レベルでサーバー上の UNC 共有にアクセスできないという問題が発生します。
この違いの原因は何ですか?アプリケーション プール、サイト、および仮想ディレクトリの machine.config および IIS 設定を検索しましたが、この問題の原因を見つけることができません。