Безопасность и аутентификация приложений ASP.NET WebPages гарантируются с помощью объекта WebSecurity. В этом разделе представлены свойства, методы и связанные с ними способы использования объекта WebSecurity.
Объект WebSecurity обеспечивает безопасность и аутентификацию для приложений веб-страниц ASP.NET.
С помощью объекта WebSecurity вы можете создавать учетные записи пользователей, входить в систему и выходить из нее, сбрасывать или изменять пароли и выполнять множество других функций, связанных с безопасностью.
свойство | описывать |
---|---|
ТекущийUserId | Получите идентификатор текущего вошедшего в систему пользователя. |
Текущееимя пользователя | Получите имя вошедшего в систему пользователя. |
ХасУсерид | Возвращает true, если в данный момент существует идентификатор пользователя. |
IsAuthenticated | Возвращает true, если текущий пользователь вошел в систему. |
метод | описывать |
---|---|
Изменить пароль() | Измените пароль для указанного пользователя. |
ПодтвердитьАккаунт() | Подтвердите учетную запись, используя токен подтверждения учетной записи. |
Зарегистрироваться() | Создайте новую учетную запись пользователя. |
СоздатьПользователяИАккаунт() | Создайте новую учетную запись пользователя. |
ГенерироватьПарольResetToken() | Создает токен сброса пароля, который можно отправить пользователю по электронной почте, чтобы пользователь мог сбросить свой пароль. |
ПолучитьДатаСоздания() | Получите время создания указанного участника. |
ПолучитьПарольИзмененияДаты() | Получите дату и время изменения пароля. |
ПолучитьИдПользователя() | Получите идентификатор пользователя на основе имени пользователя. |
ИнициализироватьСоединениеБазы Данных() | Инициализируйте систему WebSecurity (базу данных). |
ИсПодтверждено() | Проверьте, подтвержден ли пользователь. Возвращает true, если подтверждено. (Подтверждение может быть отправлено, например, по электронной почте.) |
Искуррентусер() | Проверяет, соответствует ли имя текущего пользователя указанному имени пользователя. Если совпадение есть, верните true. |
Авторизоваться() | Установите токен аутентификации и войдите в систему. |
Выход() | Удалите токен аутентификации и выйдите из системы. |
Требоватьаутентифицированныйпользователь() | Если пользователь не прошел аутентификацию, статус HTTP устанавливается на 401 (Неавторизованный). |
ТребоватьРоли() | Если текущий пользователь не является членом указанной роли, статус HTTP устанавливается на 401 (Неавторизованный). |
ТребоватьПользователя() | Если текущий пользователь не является пользователем с указанным именем пользователя, установите статус HTTP на 401 (Неавторизованный). |
Сбросить пароль() | Если токен сброса пароля действителен, измените пароль пользователя на новый пароль. |
ПользовательExists() | Проверяет, существует ли указанный пользователь. |
имя | ценить |
---|---|
Сорт | WebMatrix.WebData.WebSecurity |
Пространство имен | ВебМатрикс.ВебДанные |
Сборка | WebMatrix.WebData.dll |
Если вы хотите использовать объекты WebSecurity в своем коде, сначала необходимо создать или инициализировать базу данных WebSecurity.
В корневом веб-каталоге создайте страницу с именем _AppStart.cshtml (или отредактируйте ее напрямую, если она уже существует).
Скопируйте следующий код в файл:
@{ WebSecurity.InitializeDatabaseConnection("Пользователи", "UserProfile", "UserId", "Email", true };
Приведенный выше код будет запускаться каждый раз при запуске веб-сайта (приложения). Он инициализирует базу данных WebSecurity.
«Пользователи» — это имя базы данных WebSecurity (Users.sdf).
«UserProfile» — это имя таблицы базы данных, содержащей информацию о профиле пользователя.
«UserId» — это имя столбца, содержащего идентификатор пользователя (первичный ключ).
«Электронная почта» — это имя столбца, содержащего имя пользователя.
Последний параметр true — это логическое значение, указывающее, что если таблица конфигурации пользователя и таблица членства не существуют, таблицы будут созданы автоматически. Если вы не хотите автоматически создавать таблицу, вам следует установить для параметра значение false .
![]() | Хотя значение true означает, что таблица базы данных будет создана автоматически, сама база данных не будет создана автоматически. Итак, база данных должна существовать. |
---|
Таблица UserProfile создает и сохраняет запись для каждого пользователя, идентификатор пользователя (первичный ключ) и имя пользователя (адрес электронной почты):
ID пользователя | Электронная почта |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
Таблица Membership содержит информацию о членстве, например, когда был создан пользователь, прошел ли участник аутентификацию, когда участник был аутентифицирован и т. д.
Подробности следующие (некоторые столбцы не показаны):
ID пользователя | Создать дату | Токен подтверждения | Подтверждено | Ошибка последнего пароля | Пароль | Изменение пароля |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | НУЛЕВОЙ | Истинный | НУЛЕВОЙ | AFNQhWfy.... | 12.04.2012 16:12:17 |
Примечание. Если вы хотите просмотреть все столбцы и их содержимое, откройте базу данных и просмотрите каждую таблицу внутри.
Если при использовании объекта WebSecurity ваш сайт не настроен для использования системы членства веб-страниц ASP.NET SimpleMembership , может быть сообщено об ошибке.
Ошибки также могут возникнуть, если сервер хостинг-провайдера настроен иначе, чем ваш локальный сервер. Чтобы решить эту проблему, добавьте следующий элемент в файл Web.config вашего веб-сайта:
<appSettings> <add key="enableSimpleMembership" value="true" /> </appSettings>
Вышеупомянутое представляет собой введение в объект WebSecurity.