2012-02-02 11 views
3

私はカップル以外のすべてのxpageに匿名アクセスを持つアプリケーションを持っています。私はそれらのxpageのためにユーザーにログインさせる必要があります。 beforepageloadイベントを使用して、正しい方法でユーザーをログオンページにチェックしてリダイレクトするか、より良い方法がありますか?Xページ認証

答えて

7

はい、これは有効な方法であり、自分のアプリケーションのカップルで状況をどのように処理するかです。

これは、私は私がちょうどbeforePageLoadイベントから呼び出す関数として、このセットアップを持って

if (context.getUser().getCommonName() == "Anonymous"){ 
    sessionScope.put("entryPage",context.getUrl().getPath() + context.getUrl().getQueryString()) 
    context.redirectToPage("/login.xsp"); 
} 

を使用するコードです。私は別のXPageにリダイレクトしますが、サーバー上の認証タイプの設定を使用するdatabase.nsf?loginにリダイレクトすることもできます。

+0

お返事ありがとうございます。 – user1186272

+0

問題ありません。私のコードのsessionScope.entryPageは、ログインを強制した元のページにリダイレクトすることができます。 –

10

最善の解決策は、あなたがあなた自身のコードに依存しないですが、サーバーがやらせることができ、ログインするユーザーが必要なのXPagesにACLを追加することですあなたのために働く。

ACLを追加するには、XPageのすべてのプロパティにアクセスし、アクセス制御セクションを探します。次に、誰がどのアクセス権を持っているかを定義するための1つ以上の設定を追加できます。匿名アクセスがない、またはグループや役割の人々がアクセス権を持っているなど

マット

4
私は完全で提供さ答えサポート

:追加する

最善の解決策は次のようになりマットホワイト

:のXPages私のXPagesアプリケーションで

を私は次のコードを使用していますへのACL

これは完璧なパフォーマンスです!それを試してみてください! )

+0

魅力的な作品です! – teleman

0

あなたもここを見てかかることがあります:あなたは、デフォルトでは(「パブリックアクセスユーザーが利用できる」チェックボックスをオフにすると

http://www.ovalbusinesssolutions.co.uk/thoughts/securing-your-xpages-website-using-public-access-2

それがオフになっている)あなたが強制したいのXPagesのためにログインすると、ユーザーは自動的にログインにルーティングされ、ログインが成功した後、彼が開こうとしたXPageに戻ります。

関連する問題