Следует отметить, что метод HtmlEncode() не преобразует пробелы в неразрываемые пробелы. Это означает, что, если у вас имеется последовательность символов пробела, браузер отобразит только один пробел. Этот эффект нежелателен, несмотря на то, что он не влияет на HTML-код. Для изменения такого поведения можно заменить пробелы неразрываемыми пробелами вручную с использованием метода String.Replace(). Просто удостоверьтесь, что это действие выполняется после кодирования строки, а не перед ним, или же последовательность фиксированных пробелов (&nbps;) заменится символами, и будет трактоваться как обычный текст.

// Кодирование всех неразрешенных символов.
line = server.HtmlEncode(line);
// Замена пробелов неразрываемыми пробелами.
line = line.Replace(" ", " ");

Подобным образом метод HtmlEncode() не преобразует разрывы строк в дескриптор <br>. Это означает, что жесткие возвраты каретки будут игнорироваться до тех пор, пока вы специально не вставите дескрипторы <br>.

На заметку! Проблема правильной кодировки ввода более важна, чем просто проверка правильного отображения данных. Если вы попытаетесь отобразить данные, включающие дескрипторы<script>, вы неумышленно выполните блок JavaScript-кода на машине клиента. В главе 27 более подробно описывается эта опасность и предотвращающее ее свойство проверки достоверности запроса ASP.NET.

User

Объект User представляет информацию о пользователе, запрашивающем Web-сервер, и позволяет проверить принадлежность этого пользователя к роли.

Объект User всегда реализует интерфейс System.Security.Principal.IPrincipal. Определенный класс зависит от используемого вами типа аутентификации. Например, вы можете аутентифицировать пользователя на основании информации об учетной записи Windows с использованием информационного сервера Internet (IIS) или же аутентификации, основанной на cookie-наборах, со специализированной страницей входа в систему. Однако важно понимание того, что объект User предоставляет полезную информацию только в том случае, если ваше Web-приложение выполняет какую-либо аутентификацию, ограничивающую доступ анонимных пользователей.

В главе 4 вопросы безопасности рассматриваются более подробно.

 

 

предыдущая    следующая страница   оглавление

138

Hosted by uCoz