Web ページのセキュリティ
ASP.NET Web ページ - WebSecurity オブジェクト
説明
WebSecurity オブジェクト は、ASP.NET Web ページ アプリケーションのセキュリティと認証を提供します。
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 (Unauthorized) に設定します。 |
RequireRoles() | 現在のユーザーが指定されたロールのメンバーではない場合、HTTP ステータスを 401 (未承認) に設定します。 |
RequireUser() | 現在のユーザーが指定されたユーザー名のユーザーではない場合、HTTP ステータスを 401 (未承認) に設定します。 |
ResetPassword() | パスワードリセットトークンが有効な場合は、ユーザーのパスワードを新しいパスワードに変更します。 |
UserExists() | 指定されたユーザーが存在するかどうかを確認します。 |
技術データ
名前 | 値 |
---|---|
クラス | WebMatrix.WebData.WebSecurity |
名前空間 | WebMatrix.WebData |
アセンブリ | WebMatrix.WebData .dll |
WebSecurity データベースを初期化する
コードで WebSecurity オブジェクトを使用する場合は、まず WebSecurity データベースを作成または初期化する必要があります。
Web ルート ディレクトリに、_AppStart.cshtml というページを作成します (既に存在する場合は、ページを直接編集します)。
次のコードをファイルにコピーします:
_AppStart.cshtml
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
}
上記のコードは、Web サイト (アプリケーション) が起動するたびに実行されます。 WebSecurity データベースを初期化します。
「Users」 は、WebSecurity データベース (Users.sdf) の名前です。
"UserProfile" は、ユーザー プロファイル情報を含むデータベース テーブルの名前です。
"UserId" は、ユーザー ID (主キー) を含む列の名前です。
「Email」 は、ユーザー名を含む列の名前です。
最後のパラメータ true はブール値で、ユーザー設定テーブルとメンバーシップ テーブルが存在しない場合にテーブルが自動的に作成されることを示します。テーブルを自動的に作成したくない場合は、パラメータを false に設定する必要があります。
trueはデータベーステーブルを自動的に作成することを意味しますが、データベースは自動的には作成されません。したがって、データベースが存在する必要があります。 |
WebSecurityデータベース
UserProfileテーブルは、各ユーザー、ユーザーID (主キー)、およびユーザー名(電子メール)のレコードを保存するために作成されます:
UserId | |
---|---|
1 | john@johnson.net |
2 | peter@peterson.com |
3 | lars@larson.eut |
Membershipテーブルにはメンバーシップが含まれています情報、例えば、 user は Create 、メンバーが認定されているかどうか、メンバーが認定された時期など。
詳細は次のとおりです(一部の列は表示されません):Id | CreateDate | confirmationToken | Isconfirmed | LastPassword Failure | パスワードパスワード | 変更 |
---|---|---|---|---|---|---|
12.04.2012 16:12:17 | NULL | True | NULL | AFNQhWfy.... | 12.04.2012 16:12:1 7 |