ASP.NET Web Pages - WebSecurity 객체
- 이전 페이지 WebPages 클래스
- 다음 페이지 WebPages 데이터베이스
설명
WebSecurity 객체는 ASP.NET Web Pages 애플리케이션에 보안과 인증을 제공합니다.
WebSecurity 객체를 통해 사용자 계정을 생성하고 로그인, 로그아웃, 비밀번호 재설정 또는 변경 등을 할 수 있습니다.
WebSecurity 객체 참조 매뉴얼 - 속성
속성 | 설명 |
---|---|
CurrentUserId | 현재 사용자의 ID를 가져옵니다. |
CurrentUserName | 현재 사용자의 이름을 가져옵니다. |
HasUserId | 현재 사용자가 사용자 ID를 가지고 있는지 여부를 나타내는 값을 가져옵니다. 만약 그렇다면 true를 반환합니다. |
IsAuthenticated | 현재 사용자의 인증 상태를 가져옵니다. |
WebSecurity 객체 참조 매뉴얼 - 메서드
속성 | 설명 |
---|---|
ChangePassword() | 사용자의 비밀번호를 변경합니다. |
ConfirmAccount() | 계정이 유효하다는 것을 확인하고 해당 계정을 활성화합니다. |
CreateAccount() | 새로운 사용자 계정을 생성합니다. |
CreateUserAndAccount() | 새로운 사용자 계정을 생성합니다. |
GeneratePasswordResetToken() | 사용자에게 이메일로 보내는 비밀번호 재설정 토큰을 생성합니다. |
GetCreateDate() | 지정된 멤버십 계정을 생성한 날짜와 시간을 반환합니다. |
GetPasswordChangeDate() | 지정된 멤버십 계정의 비밀번호를 최근 변경한 날짜와 시간을 반환합니다. |
GetPasswordFailures SinceLastSuccess() |
최근 성공적인 로그인이나 멤버십 계정을 생성한 이후로 잘못된 비밀번호 입력 횟수를 반환합니다. |
GetUserId() | 지정된 사용자 이름으로 사용자 ID를 반환합니다. |
GetUserIdFrom PasswordResetToken () |
패스워드 리셋 토큰에서 사용자 ID를 반환합니다. |
InitializeDatabaseConnection() | 사용자 정보를 포함한 데이터베이스에 연결하여 멤버십 시스템을 초기화합니다. |
IsAccountLockedOut() | 지정된 멤버십 계정이 패스워드 시도 실패 횟수가 많아而被 락크아웃 되었는지 나타냅니다. |
IsConfirmed() | 사용자가 확인된지 여부를 나타내는 값을 반환합니다. |
IsCurrentUser() | 로그인된 사용자의 사용자 이름이 지정된 사용자 이름과 일치하는지 나타내는 값을 반환합니다. |
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 데이터베이스를 생성하거나 초기화해야 합니다.
web 애플리케이션 디렉토리에서 _AppStart.cshtml 페이지를 생성하거나 편집하세요.
이 파일에 다음 코드를 입력하세요:
_AppStart.cshtml
@{ WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true); }
웹사이트가 각 번启动될 때마다 위의 코드가 실행됩니다. 이 코드는 WebSecurity 데이터베이스를 초기화합니다.
"Users"는 WebSecurity 데이터베이스의 이름입니다. (Users.sdf)
"UserProfile"는 사용자 구성 정보를 포함한 데이터베이스 테이블의 이름입니다.
"UserId"은 사용자 ID를 포함하는 열의 이름(primäres Schlüssel)입니다.
"Email"은 사용자 이름을 포함하는 열 이름입니다.
마지막 매개변수 true는 논리 값을 나타내며, 사용자 프로필 테이블과 멤버십 테이블(그들이 존재하지 않는 경우)을 생성할지 여부를 나타냅니다.
ヒント: true는 데이터베이스 테이블이 자동으로 생성된다는 것을 나타내지만, 데이터베이스 자체는 자동으로 생성되지 않습니다. 존재해야 합니다.
WebSecurity 데이터베이스
UserProfile 테이블의 각 레코드는 사용자를 대표하며, 사용자 ID(primäres Schlüssel)와 사용자 이름(email)이 포함되어 있습니다:
UserId | 이메일 |
---|---|
1 | john@johnson.net |
2 | peter@peterson.com |
3 | lars@larson.eut |
Membership 테이블은 멤버십 정보를 포함하고 있으며, 사용자가 언제 생성되었는지 및 멤버십을 확인했는지(또는 언제)를 포함합니다.
예를 들어 (일부 열은 나열되지 않음):
UserId | 생성 날짜 | 확인 토큰 |
여부 확인 |
최종 비밀번호 오류 |
비밀번호 | 비밀번호 변경 |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | NULL | True | NULL | AFNQhWfy.... | 12.04.2012 16:12:17 |
주의사항:모든 열과 모든 내용을 보고 싶다면, WebMatrix를 통해 데이터베이스를 열고 각 테이블을 확인하십시오.
간단한 멤버십 설정
당신의 사이트가 ASP.NET Web Pages SimpleMembership 시스템을 사용하지 않도록 설정되지 않았다면, WebSecurity 객체를 사용할 때 오류가 발생할 수 있습니다.
호스트 제공자의 설정이 당신의 로컬 서버와 다를 경우, 오류가 발생할 수 있습니다. 이 문제를 해결하기 위해, 사이트의 Web.config 파일에 다음 요소를 추가하십시오:
<appSettings> <add key="enableSimpleMembership" value="true" /> </appSettings>
- 이전 페이지 WebPages 클래스
- 다음 페이지 WebPages 데이터베이스