ASP.NET WebページWebSecurity社リファレンスマニュアル2024 年の最新の入門チュートリアル。このコースでは 説明,WebSecurity社のオブジェクトリファレンス - プロパティ,WebSecurity社・オブジェクト・リファレンス - メソッド,技術データ,データベース初期化WebSecurity社,_AppStart.cshtml,WebSecurity社のデータベース,簡単な構成メンバー, について学習できます。
WebSecurity社 ASP.NET Webページオブジェクトは、アプリケーションのセキュリティと認証を提供します。
WebSecurity社オブジェクトによって、あなたは、ユーザーアカウント、ユーザーのログオンとログオフを作成し、パスワードをリセットまたは変更し、より多くのセキュリティ関連機能することができます。
属性 | 描述 |
---|---|
CurrentUserId | 获取当前登录用户的 ID。 |
CurrentUserName | 获取当前登录用户的名称。 |
HasUserId | 如果当前有用户 ID,则返回 true。 |
IsAuthenticated | 如果当前用户是登录的,则返回 true。 |
方法 | 描述 |
---|---|
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社のデータベースを作成したり、初期化する必要があります。
Webコンテンツのルートディレクトリ下に、(それが既に存在する場合は、直接ページを編集します)_AppStart.cshtmlページと呼ばれるファイルを作成します。
ファイルに次のコードをコピーします。
上記のコードは、各サイト(アプリケーション)開始時に実行されます。 それはWebSecurity社のデータベースを初期化します。
「ユーザー」は WebSecurity社データベース(Users.sdf)の名前です。
"のUserProfile」は、ユーザの設定情報を含むデータベーステーブルの名前です。
ユーザーID(主キー)列の名前が含まれている「ユーザーID」。
「メール」は、ユーザ名の列の名前です。
最後に、 真のパラメータは、ユーザ設定テーブルとメンバー表が存在しない場合、それは自動的にテーブルを作成するかを示すブール値です。 あなたは自動的にテーブルを作成したくない場合は、パラメータをfalseに設定する必要があります。
真が自動的にデータベース表を作成するには 、データベースが自動的に作成されることはありません。 だから、データベースが存在している必要があります。 |
レコード、ユーザID(主キー)とユーザー名(電子メール)を保存するために、各ユーザー用に作成されたのUserProfileテーブル :
UserId | |
---|---|
1 | john@johnson.net |
2 | peter@peterson.com |
3 | lars@larson.eut |
メンバーがというようにメンバー何時の認証を認定し、されている場合はメンバーシップ表には、このようなユーザーが作成されたときのように、メンバーシップ情報が含まれています。
以下に示すように(列の一部は表示されません):
User Id |
Create Date |
Confirmation Token |
Is Confirmed |
Last Password Failure |
Password | Password Change |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | NULL | True | NULL | AFNQhWfyjaja | 12.04.2012 16:12:17 |
注意:あなたは、すべての列とコンテンツを参照するデータベースを開きたい場合は、内部の各テーブルを見てください。
あなたはWebSecurity社オブジェクトを使用すると、あなたのサイトがASP.NET Webページ会員システムSimpleMembershipを使用するように構成されていない場合、あなたが与えられてもよいです。
サーバーホスティングプロバイダを設定して、ローカルサーバー構成が異なっている場合、それはまた、与えられてもよいです。 この問題を解決するために、サイト内のWeb.configファイルに次の要素を追加します。