Я хочу защитить ELMAH в приложении с выходом в Интернет. Система использует проверку подлинности с помощью форм, но в настоящее время не имеет учетных записей, не являющихся пользователями (например, администраторов). Учетные записи пользователей настраиваются автоматически.
Я действительно не хочу вставлять какие-либо учетные записи администратора в систему (текущая схема БД для пользователей была бы совершенно не подходящей для хранения пользователя-администратора), поэтому я думал о том, чтобы испортить аутентификацию форм, проверив сертификат клиента SSL . Если я выберу все правильные параметры в IIS, я считаю, что смогу гарантировать, что только сертификаты, выпущенные нашим внутренним центром сертификации (в настоящее время используются для непроизводственных сайтов, требующих сертификатов SSL), будут переданы в ASP.Net.
Затем я могу использовать наличие Valid ClientCertificate (проверяя свойства IsPresent и IsValid Request.ClientCertificate), чтобы узнать, что это соединение от внутреннего пользователя, и установить файл cookie проверки подлинности с помощью форм как «Диагностика» или «Администратор» (или любой другой другое специальное имя пользователя), а затем защитите elmah.axd с помощью любого из обычных методов, предлагаемых для этого с помощью проверки подлинности с помощью форм.
Итак, мой вопрос: я слишком усложняю, упускаю что-то очевидное, открываю огромную дыру в безопасности и т. Д.?