У меня есть веб-сайт, над которым я работаю, который имеет как интранет, так и интернет-развертывание. Единственная разница между этими двумя параметрами заключается в паре настроек конфигурации.
Интернет-версия работает нормально, так как она использует только аутентификацию форм (которая определена в его веб-конфигурации), и если пользователь не вошел в систему, он перенаправляется на страницу входа.
Версия для интрасети немного сложнее ... когда пользователь впервые заходит на сайт, объект принципа контекста http устанавливается правильно с WindowsPrincipal, но, используя эту информацию, я подтверждаю, что пользователю разрешен доступ к приложению, а затем я создать свой собственный экземпляр IPrinciple.
Учитывая это, я хочу сделать пару вещей здесь ... Я хочу использовать объект WindowsPrincipal в качестве основы для аутентификации пользователя, но затем с этого момента использовать аутентификацию с помощью форм (т. Е. Использовать куки-файл для хранения детали аутентификации и т. д.). Мне также нужен экземпляр принципа, который я извлекаю из контекста HTTP, для моего типа IPrinciple.
Как мне лучше поступить так? Как и в случае, я должен обратиться к Session_Start global.asax для выполнения логики аутентификации и затем каким-то образом заставить его хранить мой собственный принцип IP (таким образом, для любого запроса после этого момента экземпляр является моим собственным принципом) или я лучше всего что-то делаю с Application_AuthenticateRequest .
Приветствие
Энтони