私たちのプロジェクトには、会社の内部ネットワークで使用される JSF2 ページがあります。しかし、これらのページをインターネットに公開します。したがって、ページは誰でも利用できます。ただし、ユーザーがインターネットから来た場合、一部のフィールドはレンダリングされません。
「userIsInRole」など、コンポーネントごとにレンダリングされた属性を書き込むことができることは知っています。しかし、追加の「レンダリングされた」コントロールは、効率的で洗練された方法ではないようです。したがって、以下に示すように、カスタム属性を使用して、オンラインでレンダリングされるコンポーネントをマークする予定です。
<h:inputText context="internet" />
...
inputText またはコンポーネント コードのレンダラーで:
if(user is from Internet && context = "internet") {
return true; // or render... whatever
}
コンポーネントがインターネットとしてマークされていない場合は、社内からのみ利用 (レンダリング) できることを意味します。
特定の属性に従って JSF2 コンポーネントを使用して認可を実装することは可能ですか? より良いオプションはありますか?それとも、インターネット ユーザー用に別のページを設計する必要がありますか?
プロジェクトでは、PrimeFaces + Spring を使用します。
ありがとうございました