There's correct and there's the way most people speak in casual circumstance. I only know this one because of Latin--a worthy language for study because it helps so very much with one's English. (Not that I remember much Latin, of course, but I've still got most of what it taught me about English.)
In Latin, the object of a verb which is a state of being, as opposed to an action, uses nominative case (the same as its use as a subject).
It was he who killed the cat.
This is she speaking. (<--for which my mom took grief on a zillion phone calls)
It is I, home at last. (As opposed to, "Lucy, honey, I'm ho-o-ome!")
So for formal writing, that's what's correct, nominative--the same word you'd use if it was the subject of the sentence. However, in casual exposition and most dialogue, most speakers (other than my mom) tend to use Latin's accusative case--the word you'd use as a direct object.
It was him who killed the cat.
This is her. (<--Reality check: "This is Maryn." Or, "Who wants to know?" Or, "She's not here. May I take a message?" because I just don't like phone calls.)
It's me, home at last.
I don't know about the rest of you, but I'd say less than ten percent of my writing is formal enough, or has characters who speak formally enough, to use what I know is technically correct.
Maryn, who liked Latin