What does it mean to "have a hard-on for someone" in a non-sexual sense? I've heard it used in contexts that make it seem like the subject is acting aggressive or belligerent toward "someone". Is that right?
It can go either way. When the police "have a hard on" for someone, it means they're looking to put that person in jail.
But it can mean approval as well. Consider this line from Stanley Kubrick's film Full Metal Jacket:
Gunnery Sergeant Hartman: Today ... is Christmas! There will be a magic show at zero-nine-thirty! Chaplain Charlie will tell you about how the free world will conquer Communism with the aid of God and a few Marines! God has a hard-on for Marines because we kill everything we see! He plays His games, we play ours! To show our appreciation for so much power, we keep heaven packed with fresh souls! God was here before the Marine Corps! So you can give your heart to Jesus, but your ass belongs to the Corps! Do you ladies understand?
Clearly, Sgt. Hartman means that God likes Marines when he uses this expression.
I suggest that the shared concept is being aroused, sexually or some other way.
Sexual Arousal: The directly biological sexual form. (Discretion suggests I not provide an example.)
Aggressive Arousal: A person can have a hard on in an aggressive, competitive manner, as the accepted answer suggests. Testosterone can fuel both sexual and aggressive arousal, so there's a biological link. "Bob had a real hard on for Dave's job."
Broadly Desirous Arousal: A person can also have a hard on for anything desirable: a new videogame, a new model of car, even eating at a particular restaurant. "Bob had a serious hard on for the Tesla Roadster."
(None of the existing answers included the general concept of arousal so I figured I'd add one.)
Well, it's a clearly sexual term, but I've never heard it used in an aggressive sense. When used non-sexually, it generally would indicate that someone really likes something (or someone) and is inclined to talk it up at any opportunity. There's also a connotation that they're rather obnoxiously persistent about doing so.
I've heard the phrase used in a corporate setting to describe someone who is aggressively focused on surpassing or doing down a particular rival, or on defeating a project or proposal. In this usage, I believe that deploying a phrase with sexual significance is a kind of intensifier, because the speaker is juxtaposing that significance on such a non-sexual context.
I believe that there are two somewhat similar expressions to using the term "hard on." Only one of them has a sexual connotation.
To BE "hard on" somebody is to be tough or difficult with them. This can come from either a man or a woman. It often refers to "aggression" but has no sexual connotation.
To HAVE a "hard on" is for a man's particular body part to have a certain "hardness" (when it is more often "soft" or "limp".) And that takes place in a sexual context.