#asp.net-mvc #asp.net-mvc-3
#asp.net-mvc #asp.net-mvc-3
Вопрос:
Я использую ASP.NET MVC 3. Когда пользователь входит в приложение моего веб-сайта и сохраняется файл cookie, имя пользователя сохраняется в том случае, в котором оно было введено.
Например, в моей базе данных имя пользователя — «SomeUser». Если пользователь входит в систему как «someuser», то сохраняется (и отображается) именно «someuser», а не «SomeUser». Если вы вводите «SOMEUSER», оно сохраняется / отображается как «SOMEUSER».
Почему это происходит? Я не помню, чтобы это когда-либо было проблемой. Есть ли обходной путь для этого, чтобы, если пользователь вводит «someuser», он сохранялся / отображался как «SomeUser»?
Ответ №1:
Поскольку MVC не хранит сам cookie-файл, вы можете захотеть просмотреть свой код, который выполняет проверку пользователя и устанавливает cookie-файл. Скорее всего, вы сохраняете имя пользователя, введенное пользователем, а не используете имя пользователя, возвращаемое API членства.
В противном случае .NET не сможет узнать, каким должен быть случай. Единственный способ узнать это — сравнить его с оболочкой в системе членства.
Комментарии:
1. А, хороший звонок. Это должно было быть интуитивно понятным. Когда я вызываю
FormsAuthentication.SetAuthCookie()
, я просто извлекаю имя пользователя из базы данных, чтобы получить правильный регистр. Спасибо @MystereMan, я собираюсь обвинить в отсутствии логики в воскресенье вечером 🙂