ProtectedPage.aspxと呼ばれるページを保護し、LogOn.aspxと呼ばれるログインページを持ってする方法についていくつかのサンプルコードです:
Login.aspxの:
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>
Log In
</h2>
<p>
<fb:login-button></fb:login-button>
</p>
<div id="fb-root">
</div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({ appId: 'your app id', status: true, cookie: true, xfbml: true });
FB.Event.subscribe('auth.sessionChange', function (response) {
if (response.session) {
// A user has logged in, and a new cookie has been saved
window.location.reload();
} else {
// The user has logged out, and the cookie has been cleared
}
});
</script>
</asp:Content>
Login.aspxの。 CS
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
FacebookApp app = new FacebookApp();
Authorizer authorizer = new Authorizer(app);
if (authorizer.IsAuthorized())
{
Response.Redirect(HttpUtility.UrlDecode(Request.QueryString["returnUrl"] ?? "/"));
}
}
}
ProtectedPage.aspx.cs
public partial class ProtectedPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
FacebookApp app = new FacebookApp();
Authorizer authorizer = new Authorizer(app);
if (!authorizer.IsAuthorized())
{
Response.Redirect("~/Account/Login.aspx?returnUrl=" + HttpUtility.UrlEncode(Request.Url.PathAndQuery));
}
}
}
私たちのCodeplex wikiには、さらに多くのサンプルと情報があります。ここで
あなたが 'Request.QueryString []'にアクセスするときに知っている限り、自動的に 'UrlDecode'を呼び出します。 – rtpHarry
fyi:このスレッドは、 'QueryString []'から取り出された項目を手動で 'UrlDecode'する必要はないと同意します:http://www.velocityreviews.com/forums/t108005-request-querystring-and-server-urldecode.html – rtpHarry
どうもありがとうございました。私はこれらの手順に従って、作業が完了しました。 – Suren