2010-04-24 2 views
1

Мне нужно скрыть длину вводимого пароля во время входа в систему моего веб-приложения asp.net. Я знаю, что у сервера управления текстовым полем asp.net есть текстовый пароль, но я даже не могу этого показать. Любые предложения о том, как скрыть ввод пользователя?ASP.NET Скрыть длину пароля во время ввода

+0

Возможно, у вас есть запрос на скрытие длины пароля, но это просто путает пользователя (сколько символов я ввожу? Что-нибудь произошло, когда я набрал этот символ?) - для меня, что вы пытаетесь делать звуки, как много работы за что-то не стоит :) – Ando

+1

Вам понадобится большая звуконепроницаемая коробка, чтобы надеть человека, печатающего, чтобы никто не мог видеть или слышать, сколько символов они нажали на клавиатуре. Сделайте его достаточно большим, и вы также можете закрыть экран. (т. е. ваш менеджер делает то, что большинство будет рассматривать как глупый запрос) –

+0

Я работаю на очень крупную корпорацию, то есть на 20 000+ по всему миру. Анальная часть - мое приложение - это приложение, основанное на интрасети для внутренних пользователей. Я понимаю необходимость обеспечения безопасности и конфиденциальности, но считаю, что эта политика немного завышена. – Corin

ответ

0

Если вы должны (я согласен с @Ando, ​​что вы не должны из-за проблем с пользовательским интерфейсом), я бы использовал javascript (onkeydown) для копирования каждого символа в скрытое поле ввода и удаления ключа, введенного в поле ,

Это позволит вам восстановить пароль при обратной передаче, сохраняя при этом поле ввода пустым для пользователя.

Конечно, если пользователь нажимает клавиши со стрелками, удаляет или возвращает, вам придется решить, как с этим справиться.

Скрытие длины ввода кажется действительно очень плохой идеей пользовательского интерфейса с точки зрения пользователей, и вы должны утверждать, что спецификация должна быть изменена.

+0

Я полностью согласен с каждым из ваших ответов. Однако это корпоративная политика, которая в настоящее время указана как «Предпочтительная», а не «Обязательная». Я также хотел бы утверждать спецификацию из-за создания дополнительной работы для администраторов в отношении сброса заблокированных учетных записей пользователей и сброса паролей. В любом случае, я просто подумал, что я поставил бы вопрос и посмотрел бы, есть ли другой способ сделать это, не используя Javascript и скрытое поле. Я подумывал о создании панели обновления Ajax и сохранении ее в памяти в событии textbox. Мысли ?? – Corin

+0

Уверен, что вы можете использовать Ajax и обрабатывать нажатия клавиш в некоторой пользовательской переменной на стороне сервера вместо использования скрытого поля. Та же логика, различное хранилище. Для меня было бы проще реализовать javascript-решение, но они оба сделают то же самое. –

+0

Моя проблема с использованием Javascript и сохранением в скрытом поле - это просмотр пользователем страницы и ее просмотр. Хотя я мог бы отключить правый клик, но опция в меню все равно будет там. – Corin

0

Хотя я также согласен со всеми, что плохой идеей. Я понимаю, что иногда вам приходится делать то, с чем вы не согласны.

Я бы предположил, что сделал Микаэль, но он уже сделал это. :)
Резюмируя:

Я хотел бы использовать JavaScript (OnKeyDown) в копию каждого символа на скрытый вход поле, и удалить ключ, введенный в коробку.

Это позволит вам восстановить пароль при обратной передаче, сохраняя при этом поле ввода пустым для пользователя.

Конечно, если пользователь нажимает стрелки ключей, удаляет или возвращает, вы должны решить, как с этим справиться.

Вы сказали:

Моей проблема с использованием Javascript и запоминанию в скрытом поле пользователь просмотра исходного кода страницы и видеть.

Я уверен, что просмотр источника должен показывать только то, что изначально было загружено, а не то, что пользователь ввел. Однако есть инструменты (например, Firefox-аддоны), которые могут это сделать. Вы можете сохранить значение в javascript varible и только поместить пароль в скрытое поле, когда оно опубликовано, или использовать некоторую больную ajax-запрос для аутентификации. Однако, с правильными дополнениями, кто-то мог найти это также.

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

1
<input type="password" name="password" style="color:White;"/> 

похоже на ваше требование, но некоторые браузеры выделяют поля ввода желтым цветом, когда вы находитесь в них. Установка размера шрифта в 1px - еще один трюк, который вы могли бы попробовать.

Но проще всего использовать z-index, чтобы поместить изображение или цветной DIV поверх поля пароля. Может быть, анимационный gif с линией * персонажей, которые растут и сжимаются случайным образом, были бы лучшими - это полностью смутило бы зрителей! :-)

Как пользователь знает, какое поле выбрано, это еще одна проблема, которую вы будете иметь, возможно, какой-то дополнительный javascript, чтобы обнаружить и сказать им это.

+0

Я думаю, что некоторые браузеры покажут, что курсор мигает в поле. Не уверен, что вы можете отключить это, изменив цвет. –

0

Соглашаясь, что его не лучшая идея ...

1) Когда вы начинаете печатать, на каждом нажатии кнопки, ограничить определенный характер от того entred как часть пароля (например, трубы), а затем, когда пользователь типы, добавьте количество каналов (например, между 0 и 4 трубами), а затем просто удалите их на стороне сервера?

2) Добавьте их в скрытое поле ... если пользователь делает View_Source, они будут видеть только исходное значение поля, то есть будет пустым ... просто не забудьте очистить значение, если вам нужно в зависимости от того, как ее визуализации (asp.net веб-форму управления скрытое поле) и т.д.

3) Есть 2 пароля коробки, которые нуждаются в 2 паролей (так же как плохая идея)

0

Я подтвердил требование с охранником и, видимо, Я пропустил это требование. Тем не менее, я видел, что приложение на базе Windows выполняет это. Курсор перемещается по каждому шагу, но не используется звезда, астерик или бар. Спасибо всем за те предложения и комментарии.

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