これが OpenAuth ログイン メカニズムです。プロバイダーは、web.config に一覧表示されます。
protected void RegisterUser_CreatedUser(object sender, EventArgs e)
{
FormsAuthentication.SetAuthCookie(RegisterUser.UserName, createPersistentCookie: false);
string continueUrl = RegisterUser.ContinueDestinationPageUrl;
if (!OpenAuth.IsLocalUrl(continueUrl))
{
continueUrl = "~/";
}
Response.Redirect(continueUrl);
}
私の質問は、ユーザーが関与する私のコードの結合ステートメントに関するものです。
select * from ResourcesAvailablePerUser,Users
where resourceid = @resourceid
and Users.userid = @userid
and Users.userid = ResourcesAvailablePerUser.userid
OpenAuth データベースは私の DB とは異なるため、DB にユーザーのテーブルがありません。
したがって、私のさらなる質問は、レプリケーションコードを OPENAUTH コードに追加して上記のコードを変更し、自分のデータベースで複製されたユーザーテーブルを維持する必要があるかどうかです..基本的に、ユーザーのテーブルを自分の DB の外で維持する必要がある理由がわかりません私がそれについて正しいなら。
これは、ユーザーを検証するための OpenAuth コードです。
protected void RegisterUser_CreatedUser(object sender, EventArgs e)
{
FormsAuthentication.SetAuthCookie(RegisterUser.UserName, createPersistentCookie: false);
`//DO I HAVE TO ADD CODE HERE TO REPLICATE THE TABLE OF USERS IN MY OWN DB.`
string continueUrl = RegisterUser.ContinueDestinationPageUrl;
if (!OpenAuth.IsLocalUrl(continueUrl))
{
continueUrl = "~/";
}
Response.Redirect(continueUrl);
}