Итак, я с удовольствием создаю приложение ASP.Net MVC 4 уже месяц. У меня есть модель безопасности, пользователи могут регистрироваться и защищать информацию, хранящуюся в сеансе пользователей для последующих запросов к странице. Все это прекрасно работает. Затем я реализую некоторые вызовы ajax для получения дополнительных данных на странице. Я делаю это, обращаясь к интерфейсу веб-API. В вызове Web API я пытаюсь получить доступ к сеансу, а low и behold Session - null. Теперь я понимаю, что веб-API должен быть «без гражданства». Все параметры для вызова веб-api должны быть переданы. Но что, если некоторые из этих параметров чувствительны и не могут быть переданы от клиента при выполнении вызова ajax?ASP.Net MVC 4, веб-API и безопасные параметры передачи
Я прочитал про хаки, чтобы получить доступ к сеансу в WebAPI. Я бы предпочел не делать этого и нарушать арендаторов веб-апи. ? Значит, вы храните эту информацию в базе данных и вытаскиваете ее в веб-ави-вызове? Похоже, что это PITA. Итак, как бы сохранить определенные параметры при создании веб-айакс-айакс? Или вы ломаетесь и получаете доступ к сеансу?
Я понимаю, что вы говорите, и это можно сделать с помощью кучи дополнительной работы, чтобы сначала записать данные сеанса в базу данных с помощью неописуемого ключа, а затем вытащить данные обратно в Интернете api, используя тот же ключ. Кажется, что больше, чем когда я хочу получить данные, уже в сеансе. Почему R/W в базе данных делает его апатридом, но R/W для сеанса не является? –
Overkill будет передавать данные через уже имеющиеся в db. API должен быть неактивным, если вы хотите, чтобы все методы были связаны с сеансом пользователя, тогда используйте структуру сущности, а не модель API – Eamon
@MikeMurphy, безусловно, ваши данные хранятся в базе данных и могут быть доступны по идентификатору, отправленному из приложения к веб-API, так что вы можете загрузить эту резервную копию из базы данных из вашего API? Это ужасная практика держать данные в большом количестве сессий в любом случае. –