crypt
添付された属性が暗号化されて保存され、復号化された文字列として取得されるように、AR モデルに添付できる動作クラスを実装しました。
class User extends CActiveRecord
{
public function behaviors()
{
return array(
'crypt' => array(
// this assumes that the behavior is in the folder: protected/behaviors/
'class' => 'application.behaviors.CryptBehavior',
// this sets that the attributes to be encrypted/decrypted are encryptedfieldname of the model
'attributes' => array('password'),
'useAESMySql' => true
)
);
}
}
これはうまくいっています。Myuser
また、モデルを拡張User
してカスタム関数を作成するカスタム クラスも用意しているので、user
テーブルに変更を加えてモデルを再生成しても、独自の関数が失われることはありません。
behavior
関数をクラスMyUser
に移動すると、動作がアタッチされず、期待どおりに動作しません。
class MyUser extends User
{
public function behaviors()
{
return array(
'crypt' => array(
// this assumes that the behavior is in the folder: protected/behaviors/
'class' => 'application.behaviors.CryptBehavior',
// this sets that the attributes to be encrypted/decrypted are encryptedfieldname of the model
'attributes' => array('password'),
'useAESMySql' => true
)
);
}
public function customfn1()
{
//some code goes here...
}
}
どんな助けでも大歓迎です。参照リンク:クリプトの動作