I haven’t really worked with physic constraint but you might be able to do a workaround with nodes in the blueprint.
My thought is that whenever the door get hits by the player, it checks the rotation of the door. And if the door is more than 90 degrees or less than 0, you will manually set the door position to 90 or 0.
Something like this:
Here is the Code to copy paste Stop door rotation when Z<0 || Z>90 posted by viimi | blueprintUE | PasteBin For Unreal Engine