0

サーブレットPrincipalがWebユーザーのを取得するために、彼はを呼び出しますHttpServletRequest#getUserPrincipal()ドキュメントによるとnull、ユーザーが自分自身を認証していない場合、このメソッドは返されます。理にかなっています。

エンタープライズJavaBean(EJB)がユーザーのプリンシパルを取得したい場合、彼はを呼び出し ますEJBContext#getCallerPrincipal()。ただし、ドキュメントによると、このメソッドはnullを返すことはありません

それで、それは何を返しますか?

4

1 に答える 1

0

残念EJBContext#getCallerPrincipal()ながら、認証されていないユーザーに対してが呼び出されたときに何が起こるかについての正確なドキュメントを参照することはできませんが、Glassfish 3.1.2.2(ビルド5)を使用して実験を行いました。getCallerPrincipal()が実際にを返し、このプリンシパルのtoString()またはgetName()Principalを呼び出すと、両方とも文字列ANONYMOUSが返されることを示しています。それを知っておくといいかもしれません!

于 2013-02-22T17:39:49.573 に答える