Latest web development tutorials

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 系统(数据库)。
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에"은 사용자 구성 정보를 포함하는 데이터베이스 테이블의 이름이다.

사용자 ID (기본 키) 컬럼의 이름을 포함하는 "사용자 아이디".

"이메일"사용자 이름 컬럼의 이름입니다.

마지막으로, 실제 파라미터는 사용자 구성 테이블 및 멤버 테이블이 존재하지 않으면 자동 테이블을 작성한다 나타내는 부울 값이다. 자동으로 테이블을 생성하지 않으려면 false로 매개 변수를 설정해야합니다.

램프 사실이지만 자동으로 데이터베이스 테이블을 만들 있지만, 데이터베이스는 자동으로 생성되지 않습니다. 그래서 데이터베이스가 존재해야합니다.


WebSecurity 데이터베이스

UserProfile에 테이블 레코드의 사용자 ID (기본 키) 및 사용자 이름 (이메일)을 저장하는 각각의 사용자에 대해 생성 :

UserId Email
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 웹 페이지 회원 시스템 SimpleMembership를 사용하도록 구성되어 있지 않은 경우, 당신이 제공 될 수있다.

서버 호스팅 제공자를 구성하고 로컬 서버의 구성이 다른 경우도들 수있다. 이 문제를 해결하기 위해, 웹 사이트에 Web.config 파일에서 다음 요소를 추가

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