Я считаю, что MembershipProvider очень полезен. Это позволяет мне как разработчику использовать SQLMembershipProvider против локальной базы данных пользователей, а затем, когда я перехожу на работу, просто использовать ActiveDirectoryMembershipProvider, и мне не нужно менять строку кода (за исключением моего web.config файл).
Используя их CustomMembershipProvider, вы можете перегружать любой из методов аутентификации и делать любые другие проверки, которые вы хотите внутри этих методов.
Если вы решите перейти к схеме MembershipProvider, я не думаю, что вы пожалеете об этом. Это может быть болезненным в краткосрочной перспективе, но в долгосрочной перспективе, я думаю, вы увидите, что это окупилось. Поскольку в вашем контроллере уже написано много кода проверки подлинности, возможно, его будет не так сложно объединить с тем, как его использует MembershipProvider?
... есть ли способ реализовать минимального поставщика членства, чтобы выполнить эти проверки, не передавая ему весь код аутентификации?
MP - один из тех случаев, когда лучше всего позволить ему делать то, что он делает лучше всего. Если вы попытаетесь использовать только его часть здесь, а часть там, где это возможно, это вызовет некоторые головные боли в будущем. Он знает, что он должен делать, и обход его, хотя и возможный, потребует дополнительной работы, которая может оказаться ненужной.