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