0

I am trying to provide an admin functionality where an admin is able to login as another user without knowing their password. All the site content is permission controlled. My questions are -

  • Should I logout the admin user before switching to the user account? Does that mean admin have to re-login?
  • If I need to switch back to admin account - how do I go about this as the "User" don't have admin permissions but I previously logged in as an admin?
  • Any other thing I need to keep in mind?

What do you suggest?

4

2 に答える 2

3

私はCIに精通していませんが、一般的な解決策は次のとおりです。

ユーザーの偽装を選択するときは、次のことを行います。

  • ユーザー IDをadmin user idとしてセッションに保存します。
  • セッション内のユーザー IDをターゲット ユーザー ID に置き換えます (つまり、ログインが成功したときに発生することは何でも行います)。

セッションに管理者ユーザー IDが存在する場合は、「エンド偽装」リンクをどこかに表示します。そのリンクをクリックすると、次のことができます。

  • セッションのユーザー IDを管理ユーザー IDに置き換えます。
  • セッションから管理ユーザー IDを削除します。
于 2012-06-15T09:10:47.817 に答える
2
  1. 管理セッションを破棄しないでください

  2. 管理セッションが設定されているかどうかを確認します

    if(isset($_SESSION['admin']))
    {
          //authenticate the user without checking the password,only check the uname 
    }
    else
    {
        //authenticate the user by checking both username and password
    } 
    
  3. ユーザーと管理者用に 2 つの個別のセッションを維持することを忘れないでください。

私はそれがうまくいくことを願っています

于 2012-06-15T11:39:37.713 に答える