One of CUserIdentity and CBaseUserIdentity classes is redundant?

We have CBaseUserIdentity and nested CUserIdentity classes in Yii core.

What is sense in CUserIdentity if method autentificate() of this class slill need to be overriden (and we have it in UserIdentity class in new aplication/components)?

Why not implement all that do this both classes (CBaseUserIdentity and CUserIdentity) in one class?

view CBaseUserIdentity.php source

view CUserIdentity.php source

I want to say that why we need anotherone class where just $username and $password is defined? I think it’s redundancy of nesting. Otherwise we need to have anotherone inerface but not a class.

someone of the team should answer you better

but the reason is that CBaseUserIdentity is a class for general UserIdentity purposes, and CUserIdentity is to make it easier to us, having predefined methods that we may override if we need