Facebook ID を使用してユーザーを認証しようとしています。そのために、私は彼らの Facebook ID を持っています。登録時にデータベースに保存されます。私はそのためにfacebookのjavascript APIを使用していますが、正常に機能しており、成功した.aspxページからjQuery ajax呼び出しを使用しているユーザーbasci情報を使用して、ユーザーを自分のサイトに戻します
FB.Event.subscribe('auth.statusChange', function (response) {
if (response.authResponse) { FB.api('/me?email?dob', function (me) { if (me.name) {
emid = me.email;
$.ajax({
url: 'index.aspx/checkuser',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({ eid: emid }),
}
})
});
上記のコードは私のmasterpage.aspxにあり、静的メソッドである私のコードの背後にあるwebMethodにあります
[WebMethod]
public static void checkuser(string eid)
{
checkFBDB objChk = new checkFBDB();
objChk.isFBIDExists(eid);
}
このコードはコンテンツ ページ index.aspx にあり、そのメソッド内でクラス オブジェクトを作成してクラス関数を呼び出しています public class checkFBDB : System.Web.UI.Page {
public void isFBIDExists(string fbID)
{
string cnString = string.Empty;
cnString = ConfigurationManager.ConnectionStrings["connectionString"].ToString();
SqlDataReader dR = SqlHelper.ExecuteReader(cnString,
CommandType.Text, "SELECT * FROM smsUsers WHERE fbA='" + fbID + "' ");
if (dR.Read())
{
Session["userName"] = dR["userName"].ToString();
Session["smsCredit"] = int.Parse(dR["SMSCredit"].ToString());
Session["sender"] = dR["FName"].ToString();
Session["userMob"] = dR["MobileNo"].ToString();
HttpContext.Current.Server.Transfer("AuthenticatedForms/sendMessage.aspx");
}
else
{
HttpContext.Current.Server.Transfer("~/mapFBID.aspx",true);
}
}
}
データベースとの接続を開き、提供された Facebook ID を持つユーザーが DB に存在するかどうかを確認します。私はこのステートメントを使用していますが、問題は、通常のページから同じステートメントを使用すると問題なく転送されますが、このコードクラスからは、デバッグモードで見たすべての操作を実行しますが、Web メソッドがあった場所からページに戻ってきます。制御を移すためにこのコードクラスを呼び出しています。マスターページを使用しています。Visual Studio 2010、バックエンドは SQL SERVER 2000 です。以下は私のコードです。よろしくお願いいたします。