0

Admintool を使用しています。管理ツールに [パートナーとしてログイン] ボタンがあります。管理ツールをクリックすると、ログインせずに直接ユーザー プロファイルに移動したいと考えています。ヘッダーがあり、そのヘッダーの下にそのユーザープロファイルが必要な html ページを使用しています。

私がやっていることは、ユーザー プロファイルの URL を取得し、その URL にリダイレクトすることです。

ヘッダー ページを取得していますが、その下にユーザー プロファイルに移動するためのログイン ページを取得しています。URL を直接開いているときは、ユーザー プロファイル dirclty に移動できます。

しかし、リダイレクトすると、ログインページがユーザープロファイルに移動します。以下のコードを使用して URL にリダイレクトしています。

## Redirecting the partner to abc.com
                my $r = new CGI;
                print STDERR " url is $result\n";
                print $r->redirect( -URL => $result);
                close(STDOUT);
                exit(0);

助けてください

4

1 に答える 1

0

あなたは、ユーザーのプロファイルを一般ユーザーとして表示するか、ユーザーが (自分のプロファイルを編集するために) または管理者として表示するかについては言及しませんでした。

ユーザーとしてログインしているかのようにページを表示する必要がある場合、そのようなケースをどのように解決したかを次に示します。

私たちのセッションには、「real_user_id」と「effective_use_id」があります。通常、それらは同じであり、セッション処理のほとんどの場所で、「effective_user_id」をチェックします。ただし、管理領域では、別のユーザーとしてログインして、他のユーザーと同じように物事を確認したい場合があります。その場合、管理者領域に管理者ユーザーの「有効なユーザーID」を別のユーザーに設定する機能があります。これにより、パスワードなしでユーザーとして効果的に「ログイン」できますが、システムは引き続き「実際のユーザー ID」を確認できるため、通常の管理者ユーザーに戻るオプションを構築することもできます。

正しいページにリダイレクトしている間に、そのユーザーがログインしていないためにページがログイン画面にリダイレクトされてしまうため、問題が発生している可能性があります。次のように手動でリクエストを発行することにより、コマンドラインで何が起こっているかを確認できます。

HEAD -sSe 'http://example.com/users-profile-page-to-redirect-to'

('HEAD' ツールは LWP::UserAgent perl モジュールから来ています)。

通常のユーザーと管理者ユーザーの両方が表示できるように、「ユーザー プロファイル ページ」の認証を更新する必要がある場合があります。その方法は、システムに承認をどのように実装したかによって異なります。

于 2012-06-20T15:56:02.007 に答える