私はSharePoint(3.0)のサイトコレクション管理者/(物理サーバー管理者)です。私自身の機能のいくつかにアクセスするために他のユーザーの権限をデバッグしています。パスワードを知らずに別のユーザーとして(自分の権限で)ログインすることはできますか?同じグループに割り当てられた自分の「ダミー」ユーザーを作成できますが、ユーザーがいる場合は100以上のグループを探して、今晩何をしたいのか分かりません。おかげさまで 共有ポイントで別のユーザーとしてログインする
- Y
私はSharePoint(3.0)のサイトコレクション管理者/(物理サーバー管理者)です。私自身の機能のいくつかにアクセスするために他のユーザーの権限をデバッグしています。パスワードを知らずに別のユーザーとして(自分の権限で)ログインすることはできますか?同じグループに割り当てられた自分の「ダミー」ユーザーを作成できますが、ユーザーがいる場合は100以上のグループを探して、今晩何をしたいのか分かりません。おかげさまで 共有ポイントで別のユーザーとしてログインする
- Y
私は別の方法(my post for serverfault)それを考え出した:
Soがします解決策は以下の通りである:(きれいな、しかし、動作していない)
1)を含む、独自のIHttpModuleを書く:
class LoginModule {
public void Init(HttpApplication context)
{
context.PreRequestHandlerExecute += new EventHandler(UglyHack);
}
void UglyHack(object sender, EventArgs e)
{
HttpCookie wannabe = (HttpContext.Current.Request.Cookies["_sp_admin_wanna_be_user"]);
if (wannabe != null && SPContext.Current.Web.CurrentUser.IsSiteAdmin)
{
SPWeb cw = SPContext.Current.Web;
typeof(SPWeb).GetField("m_CurrentUser", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(
SPContext.Current.Web,
cw.AllUsers[wannabe.Value]);
}
}
}
2)
3それをサイン)GACそれ
4) web.config()に渡します。
Voila!あなたは男です。 :)(もちろん私は、メニュー、セキュリティなどへのクッキーの設定を追加するためのロジックを追加しました。)
あなただけのUIから偽装できるかどうか、私は知りませんが、あなたが実用的にそれを行うことができます。
私は100%確実ではありませんが、偽装を処理するASP.NETページを作成して、必要なユーザーとしてログインしておくことができます。特定のものを探している場合は、コードを実行してアクセス権があるかどうかを判断できます。ここで
は偽装コードを実行する方法についての記事です:
http://blackninjasoftware.com/2009/04/09/how-to-programmatically-impersonate-users-in-sharepoint/
私に正しい方法を教えてくれてありがとう。 – nothrow
これはserverfault.comにする必要があります。 – tvanfosson
申し訳ありません。 serverfaultについて知りませんでした。 – nothrow
しかし、私は、これは管理者にとっては正確には問題ではない、彼らはむしろプログラマーよりむしろこれを必要としないと思う。 – nothrow