У меня дружеская дискуссия с разработчиком о ситуации, когда пользователи входят в систему и получают доступ к документам в веб-приложении. Когда мы загружаем документ для просмотра пользователем, у нас есть идентификатор пользователя в сеансе и идентификатор документа, который может быть передан через QueryString.
Чтобы пользователь не мог изменить documentID в QueryString, я предлагаю, чтобы хранимая процедура, загружающая документ, принимала UserId в качестве параметра для проверки прав на документ.
Мой друг-разработчик предлагает, чтобы мы запустили отдельную процедуру для определения прав доступа к документу ранее на странице и просто запустили процедуру, чтобы получить документ, когда документ должен быть показан.
Мы что-то упустили? Что наиболее эффективно и безопасно? Я думал, что передача UserId с DocID в один вызов процедуры для проверки прав и получения документа была более эффективным решением.