説明
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社のシステム初期化(database) |
IsConfirmed() | ユーザーが確認されているかどうかをチェック |
IsCurrentUser() | チェックし、現在のユーザーは、ユーザー名と一致した場合 |
Login() | クッキーにトークンを設定することで、ユーザーをログに記録します |
Logout() | トークンのCookieを削除することでユーザをログアウト |
RequireAuthenticatedUser() | ユーザーが認証されたユーザでない場合はページを終了します |
RequireRoles() | ユーザーが指定した役割の一部でない場合はページを終了します |
RequireUser() | ユーザーが指定したユーザーでない場合はページを終了します |
ResetPassword() | トークンを使用して、ユーザーのパスワードを変更 |
UserExists() | 特定のユーザーが存在するかどうか |
技術データ
名 | 値 |
---|---|
クラス | WebMatrix.WebData.WebSecurity |
名前空間 | WebMatrix.WebData |
アセンブリ | WebMatrix.WebData.dll |
WebSecurity社のデータベースの初期化
あなたのコードでWebSecurity社オブジェクトを使用する前に、WebSecurity社のデータベースを作成したり、初期化する必要があります。
あなたのWebのルートでは、ページを作成(or edit the page ) _AppStart.cshtml命名。
ファイル内に以下のコードを入れてください:
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile",
"UserId", "Email", true);
}
上記のコードは、Webサイトごとに実行されます(application)を開始します。 それはWebSecurity社のデータベースを初期化します。
「ユーザーは」WebSecurity社のデータベースの名前です(Users.sdf)
「のUserProfileは、」ユーザプロファイル情報を含むデータベーステーブルの名前です。
「ユーザーID」は、ユーザIDを含む列の名前です(primary key) 。
「メール」は、ユーザ名を含む列の名前です。
本当の最後のパラメータは、彼らはそれ以外の場合はfalse、存在しない場合、ユーザープロファイルと会員のテーブルが自動的に作成されるべきであることを示すブール値です。
真は、データベーステーブルの自動作成を示しているが、データベース自体が自動的に作成されることはありません。 それは存在している必要があります。
WebSecurity社のデータベース
UserProfileテーブルには、ユーザIDと、ユーザーごとに1つのレコードが含まれています(primary key)とユーザ名(email) :
ユーザーID | Eメール |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
メンバー表には、ユーザーが作成されたときについてとあれば、会員情報が含まれています(and when)メンバーシップが確認されました。
このような多くの(some columns are not shown) :
ユーザー 同上 | 作ります 日付 | 確認 トークン | あります 確認しました | 最終 パスワード 故障 | パスワード | パスワード 変化する |
---|---|---|---|---|---|---|
1 | 2012年4月12日夜4時12分17秒 | ヌル | 真 | ヌル | AFNQhWfy .... | 2012年4月12日夜4時12分17秒 |
注:すべての列とすべてのコンテンツを表示したい場合は、WebMatrixの持つデータベースを開き、各テーブルの内側に見えます。
簡単な会員の構成
あなたのサイトがASP.NET Webページ会員制SimpleMembershipを使用するように設定されていない場合、WebSecurity社のオブジェクトを使用してエラーを取得する可能性があります。
ホスティングプロバイダのサーバがローカルサーバとは異なるように構成されている場合に発生する可能性があります。 この問題を修正するには、サイトのWeb.configファイルに次の要素を追加します。
<appSettings>
<add key="enableSimpleMembership" value="true" />
</appSettings>