2

こんにちは皆さん、私はユーザーのセッションの偽装を言うことができるかどうかを管理するのを手伝っています

アプリケーションにロール スキーマを実装しています。簡単にするために、2 つのロールがあるとします。

  • システム管理者
  • 一般ユーザー

ユーザーがシステムにログインすると、特定のモジュールにリダイレクトされます EX: ユーザーが管理者である場合、管理セクションにリダイレクトされます。これまでのところ、これはコンテキストを提供するためのものです。

システム管理者向けの機能の 1 つは、通常のユーザー アカウントを偽装して、通常のユーザーとして任意のアクションを実行できるようにする機能です。私が行った方法は簡単で、システム管理者としてログインし、ユーザーとして再認証するだけでした。 、問題は、同じ管理者が同時に複数のアカウントになりたい場合です。その方法に従って、Cookieセッションを最新の情報で上書きします。たとえば、2つのタブがあり、前のタブに移動することにしましたタブを更新すると、システム管理者が取得する情報が最新になるため、Cookie を使用しないセッションを組み合わせてすべての情報を URL に取得し、理論的には複数の asp.net セッションを作成する可能性について考えていました。

問題は、それが可能かどうかです。システムがデフォルトで Cookie ストレージを使用している場合、両方のシステムを同時に実行できますか? デフォルトで Cookie システムを使用し、プログラミングで Cookie なしのシステムを設定することはできますか?

すべてのアクション間でユーザー ID を手動で渡し、クエリ文字列を介してその情報を保持したくないだけです。この段階で実際にコードが壊れ、システムの巨大なセクションをリファクタリングする必要があるためです。

どんなコメントでも大歓迎です!

4

2 に答える 2

0

同じブラウザーで同時に 2 つの ID を開くことはできません。

2つの選択肢が頭に浮かびます:

  • 2 つの ID を同時に操作するには、管理者に別のブラウザーまたは別のユーザー (Chrome の場合) で同じブラウザーを開くように依頼してください。
  • アプリのアプローチを変更する: ID を変更する代わりに、管理者にユーザーのドロップダウンを提供します。アクションは、データなどを取得するためにそのユーザーを使用して実行されます。(もちろん、アプリによって異なります)
于 2013-01-23T18:36:24.007 に答える