최신 웹 개발 튜토리얼
 

ASP.NET웹 페이지 - WebSecurity 개체


기술

WebSecurity 개체는 ASP.NET 웹 페이지 응용 프로그램에 대한 보안 및 인증을 제공합니다.

WebSecurity 개체를 사용하면 재설정하거나 암호를 변경,보다, 사용자 계정, 로그인 및 로그 아웃 사용자를 생성 할 수 있습니다.


참조 객체 WebSecurity - 속성을

등록 기술
CurrentUserId 현재 사용자의 ID를 취득
CurrentUserName 현재 사용자의 이름을 가져옵니다
HasUserId 현재 사용자 ID를 가지고있는 경우에 true를 돌려줍니다
IsAuthenticated 현재 사용자가 로그인 한 경우에 true를 돌려줍니다

참조 객체 WebSecurity - 방법을

방법 기술
ChangePassword() 사용자의 암호를 변경합니다
ConfirmAccount() 확인 토큰을 사용하여 계정을 확인합니다
CreateAccount() 새 사용자 계정을 만듭니다
CreateUserAndAccount() 새 사용자 계정을 만듭니다
GeneratePasswordResetToken() 이메일로 사용자로 보낼 수 있습니다 토큰을 생성합니다
GetCreateDate() 지정된 회원이 생성 된 시간을 가져옵니다
GetPasswordChangeDate() 비밀번호가 변경되었을 때의 날짜와 시간을 가져옵니다
GetUserId() 사용자 이름에서 사용자 ID를 가져옵니다
InitializeDatabaseConnection() WebSecurity 시스템 초기화 (database)
IsConfirmed() 확인 사용자가 확인 된 경우
IsCurrentUser() 확인 현재 사용자가 사용자 이름과 일치하는 경우
Login() 쿠키에 토큰을 설정에서 사용자를 로그
Logout() 토큰 쿠키를 제거하여 사용자가 로그
RequireAuthenticatedUser() 사용자가 인증 된 사용자가 아닌 경우 페이지를 종료합니다
RequireRoles() 사용자가 지정된 역할의 일부가 아닌 경우 페이지를 종료합니다
RequireUser() 사용자가 지정된 사용자가 아닌 경우 페이지를 종료합니다
ResetPassword() 토큰을 사용하여 사용자의 암호를 변경합니다
UserExists() 확인 지정된 사용자가 존재하는 경우

기술 데이터

이름
수업 WebMatrix.WebData.WebSecurity
네임 스페이스 WebMatrix.WebData
어셈블리 WebMatrix.WebData.dll

WebSecurity 데이터베이스 초기화

만들거나 당신이 당신의 코드에서 WebSecurity 객체를 사용하기 전에 WebSecurity 데이터베이스를 초기화해야합니다.

웹의 루트에서 페이지를 생성 (or edit the page ) _AppStart.cshtml 이름을.

파일 내부에 다음 코드를 넣습니다 :

_AppStart.cshtml

@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
}

위의 코드는 웹 사이트마다 실행됩니다 (application) 을 시작합니다. 그것은 WebSecurity 데이터베이스를 초기화합니다.

"사용자"는 WebSecurity 데이터베이스의 이름입니다 (Users.sdf) .

"사용자 프로필은"사용자 프로필 정보가 들어있는 데이터베이스 테이블의 이름입니다.

"사용자 아이디는"사용자 ID가 포함 된 항목의 이름 (primary key) .

"이메일"사용자 이름이 포함 된 열의 이름입니다.

사실 마지막 매개 변수는 그렇지 않은 경우는 false가 존재하지 않는 경우 자동으로 사용자 프로필 및 회원 테이블이 작성되는 것을 나타내는 부울 값입니다.

사실은 데이터베이스 테이블의 자동 생성을 나타내고 있지만, 데이터베이스 자체가 자동으로 생성되지 않습니다. 그것은 존재해야합니다.


WebSecurity 데이터베이스

USERPROFILE 테이블은 사용자 ID와 각 사용자에 대해 하나 개의 레코드, 포함 (primary key) 및 사용자 이름 (email) :

사용자 아이디 이메일
1 [email protected]
[email protected]
[email protected]

회원 테이블은 사용자가 생성 될 때 약 및 경우 회원 정보가 포함됩니다 (and when) 회원이 확인되었다.

이 같은 대부분 (some columns are not shown) :

사용자
신분증
몹시 떠들어 대다
날짜
확인
토큰
인가
확인 된
마지막
암호
실패
암호 암호
변화
1 12.04.2012 16시 12분 17초 없는 참된 없는 AFNQhWfy .... 12.04.2012 16시 12분 17초

참고 : 모든 열과 모든 컨텐츠를 보려면, WebMatrix로 데이터베이스를 열고 각 테이블 내부를 들여다 보면.


간단한 회원 구성

당신은 당신의 사이트가 ASP.NET 웹 페이지 회원 시스템 SimpleMembership을 사용하도록 구성되지 않은 경우 WebSecurity 개체를 사용하여 오류를 얻을 수 있습니다.

호스팅 제공 업체의 서버가 로컬 서버와 다르게 구성된 경우에 발생할 수 있습니다. 이 문제를 해결하려면, 사이트의 Web.config 파일에 다음 요소를 추가합니다 :

<appSettings>
<add key="enableSimpleMembership" value="true" />
</appSettings>