некоторые пользователи могут видеть информацию других пользователей - PullRequest
0 голосов
/ 16 апреля 2011

некоторые пользователи моего сайта связываются со мной и говорят, что у них есть проблема с просмотром их информации. проблема в том, что они видят информацию других пользователей! я разработал свой сайт с помощью asp.net mvc 3 и членства asp.net. когда я вхожу под этим именем пользователя и паролем, все в порядке. Я думаю, что-то случилось, как интернет-провайдер или наличные для них! потому что другие пользователи не имеют никаких проблем. я проверяю свой код и без проблем найду!

Ответы [ 3 ]

0 голосов
/ 16 апреля 2011

Когда-то подобное происходило на странице ASP.NET.Выяснилось, что проблема была в том, что у меня было включено кэширование на одной из страниц, и поэтому пользователь мог видеть информацию о предыдущем пользователе.

0 голосов
/ 16 апреля 2011

Наиболее вероятный сценарий: вы кэшируете результаты на стороне сервера и не изменяете кэшированную информацию пользователем. Либо вам нужно изменить кеширование параметром, связанным с пользователем, либо самим пользователем (используя VaryByCustom).

Пример:

[AuthorizeByUser( Roles = "Admin" )]
[OutputCache( Location = OutputCacheLocation.Server, VaryByParam="*", Duration = 500 )]
public ActionResult Profile( int id )
{
   ...
}

Изменение всех параметров здесь означает, что каждое значение параметра id будет иметь различную запись в кэше. Здесь мы предполагаем, что id связан (возможно, есть) с идентификатором пользователя, поэтому у каждого пользователя будет отдельная кэшированная запись. Обратите внимание, что ваша безопасность (AuthorizeByUserAttribute) также должна быть настроена так, чтобы она не обслуживала кэшированные результаты неавторизованным пользователям. Здесь я предполагаю реализацию, производную от AuthorizeAttribute, которая проверяет, что пользователь находится в роли «Администратор» или имеет идентификатор пользователя, связанный с идентификатором в сигнатуре метода. Посмотрите мой пост в блоге о пользовательской авторизации, чтобы узнать, как это сделать: http://farm -fresh-code.blogspot.com / 2011/03 / revisiting-custom-authorization-in.html .

0 голосов
/ 16 апреля 2011

Кеш провайдера или сетевой кеш не может вызвать эту проблему.Вы должны искать эту проблему в своем коде.также метод аутентификации не отвечает за эту проблему.

проблема может быть из-за истечения сеанса или cookie.По истечении сеанса ваше приложение может искать данные по умолчанию (например, сформировать другие роли пользователя) и представлять их.поэтому следует искать такие дыры в безопасности вашего приложения.

другая проблема, возможно, из-за проблемы с кэшированием в вашем коде или кэше asp.net!кэшировать данные пользователей и показывать их другим пользователям!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...