2011-07-14 9 views
0

この2つの段落は、この問題を誤って考えている場合の背景情報です。実際の質問は後です。ログインを必要とせずにPubcookieのユーザー名を取得する方法

Pubcookieを使用する組織のアプリケーションを作成しています。以前は、ユーザー名を取得するためにセッション認証を実装する必要がなかったため、これは非常に便利でした。 PHPで私がする必要があるのは、サーバが有効なユーザを要求するように設定されている限り、$ _SERVER ['REMOTE_USER']を取得することだけです。

これらの過去のアプリケーションは、すべてコンテンツを見るためにログインする必要があります。 .htaccessのApache構成では、認証されていないすべてのユーザーがログインサーバーにリダイレクトして資格情報を取得します。今では、インターネット上の他のどこでも使用されているようなオプションのログインシステムを検討しています。私はコンテンツを常に見えるようにしたいが、アプリケーションが有効なユーザー名を要求できるようにする。

ユーザが認証されておらず、認証を強制している場合、pubcookieはそれらを認証するためにログインサーバにリダイレクトします。ユーザーが認証され、認証を強制する場合、$ _SERVER ['REMOTE_USER']に認証情報を取得できます。ただし、ユーザーが認証されても認証が必要ない場合は、認証情報を取得できません。その情報を要求するためには、匿名ユーザーをロックアウトする必要があります。

Pubcookieの認証済みユーザー名が存在する場合は、にはが存在する必要がありますが、どのようにして取得できますか?言い換えれば、「いいえ、ユーザー名はありません」というユーザー名を取得する方法がありますか?私はPubcookieOnDemandを調べました。ログイン後にオンデマンドCookieを設定できる.htaccess認証要件の背後にあるログインスクリプトを設定できるようです。ただし、ユーザーが既に認証されているかどうかにかかわらず、ログインページに移動する必要があるため、これは理想的ではありません。また、認証後にスクリプトが制御を取得しないため、認証が期限切れになった場合にオンデマンドCookieを削除する方法はありません。

私が見つけた唯一の解決策は、pubcookie認証を格納してアプリケーション管理セッションに渡すログインリンクを用意することですが、私は怠け者だと感じています。今のユーザーセッションを安全に追跡するという問題。あなたはそれを行う上でいくつかの良い情報を持っている場合でも、私のコメントにリンクを渡すこと自由に感じる。

+1

pubcookieは、認証されていないユーザーをどのように知ることができますか? – hakre

+0

そうではありません。ユーザーが認証されても認証が必要ない場合は、認証を取得できません。私はそこに何も存在しないようにする方法で認証を得ることができるようにしたいが、それが存在する場合はそれが何であるかを教えてくれる。 – meustrus

+0

詳しい説明をしてください。あなたの文章は私にとっては全体的に矛盾しているように聞こえ、私はそれを解読するのに問題がある。 – hakre

答えて

0

私は自分自身の答えをPubcookieNoPrompt Apacheディレクティブで見つけたようです。それは...まさに私が欲しいものです。 GETに基づいてユーザーをリダイレクトを含め、

PubcookieAppID #APPID# 
PubcookieNoPrompt on 
AuthType NetID 
require valid-user 

<Files login.php> 
    PubcookieNoPrompt off 
</Files> 

login.phpファイルには何もすることができます。

の.htaccess:それはちょうどので、同じようディレクティブは、オフになっているログインスクリプトとペアにする必要がありますログインリンクを持つページにデータを戻します。

関連する問題