問題タブ [windows-identity]

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.

0 投票する
1 に答える
3146 参照

asp.net - ASP.NETの偽装により、WindowsIDがSQLServerに流れます

なりすましがオンになっているWebサイトがあります。

IIS Windows認証がオンで、匿名アクセスがオフになっています。

SQLServerセキュリティにはDomain\TestUserアカウントが追加されています

Domain\TestUserでログオンしました。

テストページを閲覧すると、HttpContextがDomain \ TestUserに設定され、ApplicationPoolがDomain \ TestUserに設定されていることがわかります-これは必要です...しかし、ターゲットWebページ(SQLへの接続を試みます)の参照中にエラーが発生し、次のように通知されます「NTAUTHORITY\ANONYMOUSLOGON」がSQLに接続しようとしています。

これに加えて、MicrosoftのWebページからスクリプトを実行しました。このスクリプトは、自分のアカウントがSQLに流れないことを示しています。 http://msdn.microsoft.com/en-us/library/bsz5788z.aspx

質問は-なぜですか?

上記のいずれもTrueを返しませんが、どういう意味ですか?

前もって感謝します、

KS

0 投票する
1 に答える
1112 参照

c# - UNITY3D と MATLAB の MWARRAY.DLL を使用した、サポートされていない MONO 関数 " System.Security.Principal.WindowsIdentity.GetCurrent(bool)"

問題は、まだサポートされていない mono 関数への関数呼び出しから始まります。呼び出しは、MWARRAY.DLL (.net バージョン 2.x) と呼ばれる近い matlab DLL から行われます。この dll は通常 VS .NET で使用され、.net 3.5 を使用する場合に機能します。

関数は次のとおりです: [mscorlib]System.Security.Principal.WindowsIdentity::GetCurrent(bool)

いくつかの可能な解決策を考えることができますが、それらを行う方法がわかりません:

  1. dll を逆コンパイルし、バイト コードを同様の機能する関数に置き換えます。 [mscorlib]System.Security.Principal.WindowsIdentity::GetCurrent() 関数にブール値が渡されないことに注意してください。
  2. mono をコンパイルして自分で関数を書く
  3. 古いバージョンの MWARRAY.DLL を使用している (見つからなかったが、同じコードを使用している可能性がある)

逆コンパイルには IDA を使用しました。最初の関数 CIL + HEX への呼び出しがある場所を以下で見つけました

call および stloc コマンドの HEX:

また、他のコマンドがバイトコードでどのように見えるかを確認するためだけに、両方の関数を呼び出して、独自の dll をコンパイルおよび逆コンパイルしました。

太字のカスタム コンパイル/逆コンパイル行の 16 進数:

誰かが提案された解決策のパス、または頭に浮かぶ可能性のある何かを知っているかどうか知りたいですか?

0 投票する
1 に答える
16698 参照

c# - ASP.NETのWindowsIdentity.Impersonateランダムに「偽装の無効なトークン-複製できません」

ユーザーが基本認証を使用してドメインアカウントでサインインする必要があるASP.NETアプリがあります。ユーザーは選択を行い、ボタンを押すことができます。

ボタンを押した後のある時点で、次のコードが表示されますWindowsIdentity.Impersonate(userIdentity.Token)userIdentityのタイプはWindowsIdentityであり、以前は(WindowsIdentity)User.Identityに設定されていました。

userIdentityはセッション変数として保存されます。これは、ボタンが押された後、このコードを含むページがAJAXを介して呼び出されるためだと思います。

このコードをヒットすると、約2/3の確率で機能しますが、1/3の確率で、次の例外が発生します。偽装のトークンが無効です。複製できません。私にとって最大のヘッドスクラッチャーは、なぜそれが時々機能するのに、他の時には機能しないのかということだと思います。一部のセッションでは、失敗する前に数回機能します。他の人では、それはすぐに失敗します。

スタックトレースは次のとおりです。

System.Security.Principal.WindowsIdentity.CreateFromToken(IntPtr userToken)で

System.Security.Principal.WindowsIdentity..ctor(IntPtr userToken、String authType、Int32 isAuthenticated)で

System.Security.Principal.WindowsIdentity.Impersonate(IntPtr userToken)で

C:\ dev \ RoomRes \ Resource Booker \ BLL \ ReservationAgent.cs:line101のResource_Booker.BLL.ReservationAgent.SubmitReservationRequest(予約予約、パトロンパトロン)

C:\ dev \ RoomRes \ Resource Booker \ Reserve.aspx.cs:line 474のResource_Booker.Reserve.reserve_Click(Object sender、EventArgs e)で

System.EventHandler.Invoke(オブジェクト送信者、EventArgs e)で

System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)で

System.Web.UI.Page.ProcessRequestMain(ブール値includeStagesBeforeAsyncPoint、ブール値includeStagesAfterAsyncPoint)で

紛らわしい要因は次のとおりです。ローカルホストを使用しているため、認証はここで暗黙的に渡されますが、ローカルのWindows7x64ワークステーションまたはWindows200332ビットIIS6.0環境ではこの問題を再現できません。これは、かなりバニラなWindows2008R2環境でのみ発生します。これらの環境はすべてドメインメンバーです。

0 投票する
1 に答える
205 参照

asp.net - IISがAppPoolからの1つの要求のWindowsIdentityをユーザーアカウントに昇格させているように見えるのはなぜですか?

私は現在、Windows認証を使用してログインするユーザーを含むASP.NETアプリケーションに取り組んでいます。これにより、HTTPContext.UserとThread.Principalの両方が、予想される動作が期待されるユーザーロギングと同じクレデンシャルで設定され、WindowsIdentityはIIS.NETAppPoolユーザーのままになります。

最近、アプリケーションログで、WindowsIdentityがIISユーザーとして開始され、最終的にログインしているユーザーに昇格される1つの要求(通常はページの読み込み時に5番目の要求)があるように見えることに気付きました。

これは、ユーザーがルートパス(たとえばhttp:// localhost /)にアクセスしているときにのみ発生しているように見えます。http://localhost/index.aspxなどの他の正確なパスを指定した場合、この要求は発生していないように見え、WindowsIdentityは変更されません。

(かなり大きな)コードベースを見ると、WindowsIdentityを偽装するメソッドは1つしか見つかりませんが、そのメソッドは、特定のページの特定の状況を除いて呼び出されません。

なぜこれが発生するのか、IISが単独で実行する理由があるのか​​どうか疑問に思いました。

0 投票する
1 に答える
3116 参照

iis - Request.ServerVariables("LOGON USER") は空を返します

Web.config ファイル

IIS のアクセス許可

C#コード、

Windows User ID を表示できるようにするために何が欠けていますか?

0 投票する
1 に答える
382 参照

authentication - 関連ドメイン Cookie 攻撃からの WIF ベースのセッションの保護

認証を対象とする関連ドメイン Cookie 攻撃から身を守るために、WIF ベースの認証セッションに追加のセキュリティを実装するにはどうすればよいですか?

0 投票する
3 に答える
2861 参照

asp.net - HTTPContext.Current.User.Identity.Nameがコントロール内で機能していませんか?

ラベルがあり、このラベルのテキストを次のように設定したい

だから私は書いた

しかし、それは機能しません、しかし、私がこれをラベルの外で書いたとき、例えば:

できます。

0 投票する
1 に答える
272 参照

.net - ユーザーが管理者として実行できるかどうかを確認するにはどうすればよいですか?

ユーザーがライセンス キーを入力する必要がある場合、できる場合は HKLM に入力し、できない場合は HKCU に入力します。HKLM にある場合は、コンピューター上のすべてのユーザーがライセンスを所有しており、それぞれがライセンスを入力する必要はありません。

私たちは Office へのアドオンであるため、Office の権利で実行されます。通常、これは管理者権限ではありません (UAC がオフになっている場合を除きます)。そのため、WindowsPrincipal.IsInRole(Administrator) は、ユーザーが何を実行できるかに関係なく、false を返します。

ユーザーがローカル管理者権限を持っている場合は、runas=admin を持つアプレットを起動して、HKLM で設定できるようにします。ただし、ローカルの管理者権限がない場合は、HKCU に配置します。

それで... ユーザーが runas=admin を実行できるかどうかを判断するにはどうすればよいですか? .net 3.5 を使用しています。

ありがとう - デイブ

0 投票する
2 に答える
1994 参照

azure - Azure acsとmvc3を使用するときに、ユーザーのサインインを検出するのに最適な場所はどこですか?

ユーザーがパッシブacsを使用してアプリケーションにサインオンしたことを検出できるようにしたいので、アプリを初めて使用する場合にデータベースに追加できます。現在、WSFederationAuthenticationModule.SignedInを購読していますが、何かが足りないと感じています。主に、イベントをサブスクライブするのに最適な場所がわかりません。PostAuthenticateRequest内で機能するようになりましたが、少しハッキーです。助言がありますか?

このコードはglobal.asaxからのものです

編集:

今のところ、フラグ変数を使用して、SignedInに一度だけサブスクライブするようにします。誰かが他に何か提案がない限り:)サンドリーノの助けに感謝します。これが私が今持っているものです。

編集: もう少し情報。この問題は、Azureエミュレーターを使用している場合に発生します。おそらく、デプロイされたときにも発生しますが、試したことはありません。テキストファイルに書き込もうとしてデバッグできず、テキストファイルが作成されていないかどうかをテストしました。

0 投票する
4 に答える
6932 参照

wif - WIF-ID1014: 署名が無効です。データが改ざんされている可能性があります

私は WIF を使用して新しい Web サイトを認証してきました。STS は starter-sts 実装に基づいています。

負荷分散された環境でこれが正しく機能するようにするために、global.asax で次を使用して、デフォルトの証明書の動作をオーバーライドしました。

これはすべて機能しており、人々はシステムを正常に使用していますが、時々次のような爆発が発生します。

ID1014: 署名が無効です。データが改ざんされている可能性があります。

イベントログに記録されていたので、WIF トレースをオンにすると、ログに次のように記載されていました。

ID1074: ProtectedData API を使用して Cookie を暗号化しようとしたときに、CryptographicException が発生しました (詳細については、内部例外を参照してください)。IIS 7.5 を使用している場合、これはアプリケーション プールの loadUserProfile 設定が false に設定されていることが原因である可能性があります。

RSAを使用するように実装を変更したので、これは私に影響を与えないはずなので、これが私を暗い路地に導いていると感じています。

私を助けるためのアイデアはありますか?