Begin with the starter relay. The ignition switch itself can't handle the current of a starter motor, so there will always be a relay that actuates the starter motor. It can be included on the starter, but that's not common. The contacts in the relay are usually silver-plated copper, or plain copper. If the starter current is high, and the motor is turned for an excessively long time, it can literally weld the relay contacts together. This will give you the problem you're having, and is the most likely culprit.
Some starter motors have a solenoid that engages the pinion gear with the flywheel gear, and has a set of internal contacts that serve the function of a starter relay. This is a more expensive repair. If the wires from the ignition switch go straight to some terminals on the starter motor, and not to a relay, then this is the type that you have. The wires will usually be 10 ga. because the solenoid coil is fairly high current compared to a relay.
If the relay is good, the next most likely suspect would be the ignition switch itself.