Я успешно использую пользовательскую авторизацию в ASP.NET MVC. Это просто включает сравнение между User.Identity и владельцем объекта в контексте.
Работает как шарм, когда используется в простых условиях. Это усложняется, когда я пытаюсь вызвать 2 действия в одном веб-запросе.
Допустим, я хочу отобразить изображение, которое будет сгенерировано на лету моим приложением. Это изображение генерируется контроллером, поэтому на него может ссылаться URL, даже если оно не существует физически. Я решил, что пользователь должен войти в систему и быть владельцем, чтобы просмотреть его, поэтому я применяю к нему свой механизм авторизации.
Пример:
Когда я включаю такое изображение в страницу через гиперссылку действия, я ожидаю, что аутентифицированный пользователь все еще будет в контексте на стороне сервера, когда изображение генерируется. Это не так в моих тестах. Изображение никогда не отображается, потому что моя проверка авторизации не работает. В контроллере изображения User.Identity пуст, как если бы пользователь не подписал его.
В то же время, тот же пользователь все еще входит на веб-сайт и может продолжать просматривать свою личность в контексте ... без этих изображений, работающих должным образом.
Интересно, как заставить этот процесс работать безопасно ...
Большое спасибо!
Марк Лакурьер
RooSoft Computing inc.