기술
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>