1

Хотя NOT, зарегистрированный как часть метода CreateUser в MSDN, SqlMembershipProvider генерирует исключение ArgumentException, если вы пытаетесь сделать что-либо с именем пользователя, содержащим запятую (включая попытку создания пользователя). Запятые в паролях выглядят нормально. Почему мой вопрос?Почему запятые не указаны в имени пользователя при использовании SqlMembershipProvider?

System.ArgumentException: The parameter 'username' must not contain commas. 

Edit: Как указано на stackoverflow, одной такой причине, за то, что запятые будет то, что, в то время как адреса необычна, электронная почта CAN запятые.

+2

Возможно, лучший вопрос: «Почему вы хотите использовать запятые в именах пользователей?». – jrummell

+0

Нет особых причин. Мне просто любопытно, что допускается другая пунктуация. Предоставляет ли запятая какой-либо риск безопасности, о котором я должен знать? – Brandon

+0

Отсутствует проблема безопасности, о которой я знаю; его просто очень странное требование. – jrummell

ответ

1

Моя ставка заключается в том, что пароли хэшируются, а имена пользователей - нет. Однако у меня нет резервной копии. Представьте, что вы хотите объединить вход пользователя в строку, а несколько полей прокручиваются запятыми. Разве вам было бы проще просто рекринировать запятые, а не находить смешной способ избежать и/или закодировать запятую в середине строки?

EDIT: Фактически, в методе UpdateUser документировано, что имя пользователя не может содержать запятую. Однако они все еще не объясняют, почему существуют ограничения. Это из раздела, когда на ArgumentException выбрасываются:

имя пользователя свойства пользователя является пустой строкой («»), содержит запятой, или больше, чем 256 символов.

 Смежные вопросы

  • Нет связанных вопросов^_^