フォームベースの認証を使用するこのJSFプロジェクトがあります。 JSFページを開く最初の試みで、私は自分のログイン・サーバーにリダイレクトされます。そこで認証が行われ、成功すると私のアプリケーションにリダイレクトされます。残念ながら、ユーザー名のように認証サーバーが提供する情報を取得する方法がわかりません。JSFページでLibertyのFORMベース認証からユーザープリンシパルを取得する方法は?
私は、テキストが「サインインされた」と言っているページを持っています。 getCurrentUserPrincipal()メソッドを使用してManagedBeanによって設定される必要があります。
<h:outputText value="#{myBean.getCurrentUserPrincipal()}"/>
このメソッドは現在空です。 WSSubject.getCallerPrincipal()とFacesContext.getCurrentInstance()。getExternalContext()。getUserPrincipal()しかし、それはnullを返しました。 私はその方法で必要な情報をどのように入手できますか? それは可能ですか? 必要な情報が不明なので、何かが欠落している場合はできる限り提供します。
**あなたの**認証サーバーが情報をどこに置くかをどのように知ることができますか?この質問は、決してjava、jsf、servletsまたはjava-eeには関係ありません。 – Kukeltje
[OK]をクリックすると、フォームベースの認証(web.xml)を実行すると、情報はどこに保存されますか。私はログインに成功し、私のアプリケーションに戻ります。これは少なくともj2eeやサーブレットとは関係がありません。それがクッキーに保存されているとしましょう:そこから情報を取得するにはどうすればよいですか?またはLTPAトークン(クッキーと同じ?)?それでは? Btw。私はリバティーを使用しています。 server.xmlにいくつかの設定が必要なのでしょうか? – kinglite