ユーザのログイン履歴情報を参照したい場合は、『LoginHistory』オブジェクトで参照できます。アクセス元IPやログイン時刻、ブラウザ情報などが確認できます。
『LoginHistory』オブジェクトを参照するにはプロファイルのユーザの管理権限が必要になります。
この権限の無いユーザの場合、Visualforceページでレコード情報を表示できません。
Apexクラスはシステム権限で処理が実行されるのでレコード自体は取得できますが、Visualforceで表示する際に権限の有無が判定されレコードが非表示になっています。
Visualforceでオブジェクト情報の権限判定を行うにはsObject型になっている必要があります。なのでString型などただの文字列の場合は、権限判定が行われず画面に表示されるようになっています。
String型の変数『loginTime』に値をセットしてapex:outputTextで表示すれば『ユーザの管理』権限が無いユーザでもログイン履歴情報を表示することが可能です。
本来アクセス権の無い情報を強引に表示する方法なので、推奨される方法ではありませんが、画面上にログインユーザの最終ログイン日時を表示したい場合は、この方法で表示することが可能です。
LoginHistoryはシステム情報なので、テストクラスでテストデータを作成する必要はありません。組織内にある既存の情報にアクセスできるようになっています。
サンプルコードはこちらです。