状況があります:いくつかの構造化データ(たとえば、配列やオブジェクト、さらには文字列)をZend_AuthIDとして保存します。バージョンごとにIDの構造を変更できるため、あるバージョンのIDは、別のバージョンのアプリケーションコードと互換性がある(または互換性がない)可能性があります。
保存されたIDデータが現在のバージョン要件に準拠しているかどうかを検証する機能が必要です。
マニュアルからわかるように、IDが存在するかどうかの検証は次のように実行されます。
$auth = Zend_Auth::getInstance();
if ($auth->hasIdentity()) {
// Identity exists; get it
$identity = $auth->getIdentity();
}
hasIdentity()
ただし、検証を実行するためにメソッドまたは他の場所にフックする機能はありません。
私がそれを行う唯一の方法は、実装Zend_Auth_Storage_Interface
として他のストレージを使用し、保存されたデータの検証を実行する独自のクラスを実装することです。
これ以上適切な解決策はありますか?