ASP.NET Web Pages WebSecurity Справочное руководство
описание
Объект WebSecurity ASP.NET Web Pages обеспечивает безопасность приложений и аутентификацию.
По объекту WebSecurity, вы можете создавать учетные записи пользователей, вход пользователя в систему и выходе из нее, сбросить или изменить пароль, а также другие функции, связанные с безопасностью.
WebSecurity Object Reference - Свойство
属性 | 描述 |
---|---|
CurrentUserId | 获取当前登录用户的 ID。 |
CurrentUserName | 获取当前登录用户的名称。 |
HasUserId | 如果当前有用户 ID,则返回 true。 |
IsAuthenticated | 如果当前用户是登录的,则返回 true。 |
WebSecurity Object Reference - Методы
方法 | 描述 |
---|---|
ChangePassword() | 为指定的用户更改密码。 |
ConfirmAccount() | 使用帐户确认令牌确认帐户。 |
CreateAccount() | 创建一个新的用户帐户。 |
CreateUserAndAccount() | 创建一个新的用户帐户。 |
GeneratePasswordResetToken() | 生成一个密码重置令牌,可以在电子邮件中发送给用户以便用户可以重设密码。 |
GetCreateDate() | 获取指定会员创建的时间。 |
GetPasswordChangeDate() | 获取密码变更的日期和时间。 |
GetUserId() | 根据用户名称获取用户 ID。 |
InitializeDatabaseConnection() | 初始化 WebSecurity 系统(数据库)。 |
IsConfirmed() | 检查用户是否已被确认。如果已确认,则返回 true。(例如,可通过电子邮件进行确认。) |
IsCurrentUser() | 检查当前用户的名称是否与指定用户名匹配。如果匹配,则返回 true。 |
Login() | 设置身份验证令牌,登录用户。 |
Logout() | 移除身份验证令牌,注销用户。 |
RequireAuthenticatedUser() | 如果用户未通过身份验证,则设置 HTTP 状态为 401(未经授权)。 |
RequireRoles() | 如果当前用户不是指定角色的成员,则设置 HTTP 状态为 401(未经授权)。 |
RequireUser() | 如果当前用户不是指定用户名的用户,则设置 HTTP 状态为 401(未经授权)。 |
ResetPassword() | 如果密码重置令牌是有效的,改变用户的密码为新密码。 |
UserExists() | 检查指定的用户是否存在。 |
технические данные
名称 | 值 |
---|---|
Class | WebMatrix.WebData.WebSecurity |
Namespace | WebMatrix.WebData |
Assembly | WebMatrix.WebData.dll |
Инициализация базы данных WebSecurity
Если вы хотите использовать объекты WebSecurity в вашем коде, вы должны сначала создать или инициализировать базу данных WebSecurity.
В своем веб - корневой каталог, создайте файл с именем _AppStart.cshtml страницу (если она уже существует, то будет напрямую редактировать страницу).
Скопируйте следующий код в файл:
_AppStart.cshtml
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
}
Приведенный выше код будет работать на каждом участке (приложение) начинается. Он инициализирует базу данных WebSecurity.
"Пользователи" являются базы данных WebSecurity (Users.sdf) имя.
"UserProfile" это имя таблицы базы данных , которая содержит информацию о конфигурации пользователя.
"UserId" , который содержит идентификатор пользователя (первичный ключ) имя столбца.
"Электронная почта" является имя столбца имени пользователя.
И, наконец, истинный параметр представляет собой логическое значение , которое указывает на то, если таблицы конфигурации пользователя и таблицы - члены не существует, он будет автоматически создать таблицу. Если вы не хотите , чтобы автоматически создать таблицу, вы должны установить параметр ложно.
Хотя верно для автоматического создания таблиц базы данных, но база данных не будет создана автоматически. Таким образом, база данных должна существовать. |
базы данных WebSecurity
UserProfile таблица создается для каждого пользователя , чтобы сохранить запись, идентификатор пользователя (первичный ключ) и имя пользователя (адрес электронной почты):
UserId | |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
Состав таблица содержит информацию о членстве, например, когда пользователь будет создан, если член был сертифицирован сертификации членом какое время, и так далее.
Как будет показано ниже (некоторые из колонок не отображаются):
User Id |
Create Date |
Confirmation Token |
Is Confirmed |
Last Password Failure |
Password | Password Change |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | NULL | True | NULL | AFNQhWfy.... | 12.04.2012 16:12:17 |
Примечание: Если вы хотите, чтобы увидеть все столбцы и содержимое, откройте базу данных, обратите внимание на каждую таблицу внутри.
Простой элемент конфигурации
При использовании объектов WebSecurity, если ваш сайт не настроен на использование системы ASP.NET Web Pages члены SimpleMembership, Вы можете получить.
При настройке сервера хостинг-провайдера и конфигурация локального сервера отличается, он также может быть дано. Чтобы решить эту проблему, добавьте следующий элемент в файле Web.config на веб-сайте:
<add key="enableSimpleMembership" value="true" />
</appSettings>