The 49ers signed safety Craig Dahl to a three-year deal Saturday, but he'll still have some stiff competition for the starting job.