2011-09-20 10 views
2

"asdf"というポートレットがあります。私はAJAXを使用して小さなビューをリロードします。 これらのビューにアクセスするには、 http://localhost:8080/asdf-portlet/view.jsp ログインしていないユーザーもこれらのビューにアクセスできますが、できないようにしてください。liferayでのポートレット・アクセスの制限

この問題の解決方法はありますか? ログインしているユーザーだけがアクセスできるセッションがありますか?

答えて

0

さらに詳しい情報を提供する必要があると思います。どのようなライフラインのバージョンを使用していますか?あなたは許可を指定しましたか?ポートレットをどのページに追加しましたか?

「ユーザー」のみがポートレットにアクセスできるように指定し、ポートレットをGuest's Landingページに追加したとします。それは、ポレットが公開されていることを意味します。

+0

ITSは6.0.6をLiferayの(?)。私は、スタートページにこれを追加しました。私は、権限を変更すると、ビューはまだアクセス可能です。 – user489872

+1

私はあなたを理解すると思います今問題です。あなたがあなたのapにアクセスしているならplicationを直接行ってから、ポータルのスコープの外に出してください。最善の方法は、不正な例外をスローするサーブレットフィルタを書くことです。これにより、アプリケーションへの直接アクセスを防止できます。 –

0

Liferayには、階層的なアクセス許可ベースのシステムがあります。ログインしているユーザーにポートレットのアクセス権を制限することをお勧めします。一般的に、これはguest/anonymous - > viewオプションを削除することによって行われます。

ポートレットの設定セクション(通常は小さなレンチアイコンをクリックしてアクセスします)から、権限セクションを選択し、ゲストオプションのチェックを外します。

+0

私はパーミッションを変更しましたが、上記の例のようにURLを入力すると、アクセス可能です。ポータルでポートレットを表示すると、ポートレットを表示する権限がないと表示されます。 – user489872

0

あなたはのportlet.xmlから

<security-role-ref> 
    <role-name>guest</role-name> 
</security-role-ref> 

を削除しようとしましたか?

私はまた、Liferayの-のportlet.xmlから

<role-mapper> 
    <role-name>guest</role-name> 
    <role-link>Guest</role-link> 
</role-mapper> 

を削除します。

1

ビューに直接アクセスするためのリンクを提供できますか?たぶん、これは物事をクリアすることができます。

最初の投稿で提供したリンクの場合は、なぜポートレットを表示しているのか想像できます。これは、ポートレットを呼び出していないためです。サーブレット・パーツのみを呼び出しています。このタイプの呼び出しは、ライフルとは関係がないため、ポートレット関連のxmlファイルはtomcat(または他のJavaサーバー)によって読み取られません。すでにあなたは(および/または)のみのLiferayからのアプリのアクセスを制限する(あなたは、Javaを設定する必要があり

  • 直接アクセスを回避するために、サーブレットの要求をいずれか

    • フィルタに持ってdoc_180によって提案

      そうする サーバー(Tomcatなど)。

  • 関連する問題