DoboWiki
Top
> .NETプログラミング研究/91 をテンプレートにして作成
.NETプログラミング研究/91 をテンプレートにして作成
開始行:
#title(OpenIDでログインできるサイトを作成する3)
#navi(.NETプログラミング研究)
#contents
*OpenIDでログインできるサイトを作成する3 [#n9c4e07f]
今回もDotNetOpenIdライブラリを使ってOpenIDでログインでき...
**OpenIdAjaxTextBoxコントロール [#sc53db20]
OpenIdAjaxTextBoxコントロールを使うと、画面の遷移を行わず...
このコントロールは、例えば、ブログ等のコメント投稿フォー...
実際にOpenIdAjaxTextBoxコントロールを使ってOpenID認証を行...
まずOpenIdAjaxTextBoxコントロールにOpenID URLを入力し、そ...
#embed(<a href="https://www.flickr.com/photos/dobondotnet...
Discoveryに成功すると、左側にOPのアイコンが表示され、右側...
#embed(<a href="https://www.flickr.com/photos/dobondotnet...
「LOG IN」ボタンをクリックするとポップアップウィンドウが...
認証に成功すると、OpenIdAjaxTextBoxコントロールの右側にチ...
#embed(<a href="https://www.flickr.com/photos/dobondotnet...
認証に成功すると、OpenIdAjaxTextBoxコントロールのAuthenti...
以下に、OpenIdAjaxTextBoxコントロールを使った例を示します...
#code(vbnet){{
<%@ Page Language="vb" %>
<%@ Register assembly="DotNetOpenId" namespace="DotNetOpe...
tagprefix="RP" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, B...
'認証に成功しているか調べる
If OpenIdAjaxTextBox1.AuthenticationResponse IsNo...
OpenIdAjaxTextBox1.AuthenticationResponse...
AuthenticationStatus.Authenticated Then
'書き込みに成功したことにする(テストなので、...
Dim ci As String = _
OpenIdAjaxTextBox1.AuthenticationResponse...
MessageLabel.Text = Server.HtmlEncode(ci) + _
"さんはコメントを書き込みました。"
Else
MessageLabel.Text = "ログインしてください。"
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>OpenIDテスト</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server"
AssociatedControlID="OpenIdAjaxTextBox1"
EnableViewState="False" Text="OpenID:"></asp:...
<br />
<RP:OpenIdAjaxTextBox ID="OpenIdAjaxTextBox1" run...
<br />
<asp:Label ID="Label2" runat="server"
AssociatedControlID="TextBox2"
EnableViewState="False" Text="お名前:"></asp:...
<br />
<asp:TextBox ID="TextBox2" runat="server" Width="...
<br />
<asp:Label ID="Label3" runat="server" AssociatedC...
EnableViewState="False" Text="コメント:"></as...
<br />
<asp:TextBox ID="TextBox1" runat="server" Height=...
TextMode="MultiLine" Width="300px" EnableView...
</asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="送信"
onclick="Button1_Click" />
<br />
<br />
<asp:Label ID="MessageLabel" runat="server" Enabl...
</asp:Label>
</div>
</form>
</body>
</html>
}}
#code(csharp){{
<%@ Page Language="C#" %>
<%@ Register assembly="DotNetOpenId" namespace="DotNetOpe...
tagprefix="RP" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs...
{
//認証に成功しているか調べる
if (OpenIdAjaxTextBox1.AuthenticationResponse != ...
OpenIdAjaxTextBox1.AuthenticationResponse.Sta...
AuthenticationStatus.Authenticated)
{
//書き込みに成功したことにする(テストなので...
string ci = OpenIdAjaxTextBox1.Authentication...
MessageLabel.Text = Server.HtmlEncode(ci) +
"さんはコメントを書き込みました。";
}
else
{
MessageLabel.Text = "ログインしてください。";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>OpenIDテスト</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server"
AssociatedControlID="OpenIdAjaxTextBox1"
EnableViewState="False" Text="OpenID:"></asp:...
<br />
<RP:OpenIdAjaxTextBox ID="OpenIdAjaxTextBox1" run...
<br />
<asp:Label ID="Label2" runat="server"
AssociatedControlID="TextBox2"
EnableViewState="False" Text="お名前:"></asp:...
<br />
<asp:TextBox ID="TextBox2" runat="server" Width="...
<br />
<asp:Label ID="Label3" runat="server" AssociatedC...
EnableViewState="False" Text="コメント:"></as...
<br />
<asp:TextBox ID="TextBox1" runat="server" Height=...
TextMode="MultiLine" Width="300px" EnableView...
</asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="送信"
onclick="Button1_Click" />
<br />
<br />
<asp:Label ID="MessageLabel" runat="server" Enabl...
</asp:Label>
</div>
</form>
</body>
</html>
}}
***JavaScriptでClaimed Identifierや個人情報を表示する [#f...
OpenIdAjaxTextBoxコントロールでは、認証後、画面遷移なしで...
例えば、JavaScriptで次のようなコードを書きます。ここでは...
#code(javascript){{
<script type="text/javascript">
function onauthenticated(sender) {
var name = document.getElementById('<%=TextBox2.C...
if (sender) {
//sender.getClaimedIdentifier()でClaimed Iden...
name.value = sender.getClaimedIdentifier();
}
}
</script>
}}
そして、OpenIdAjaxTextBoxコントロールのOnClientAssertionR...
JavaScriptのコードで"sender"には、"openid_identifier"とい...
さらに同じようなやり方で、SREGで取得した個人情報を画面遷...
DotNetOpenIdのヘルプのOpenIdAjaxTextBox.OnClientAssertion...
個人情報をJavaScriptで表示する具体例はDotNetOpenIdに添付...
#code(vbnet){{
<%@ Page Language="vb" %>
<%@ Register assembly="DotNetOpenId" namespace="DotNetOpe...
tagprefix="RP" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, B...
'認証に成功しているか調べる
If OpenIdAjaxTextBox1.AuthenticationResponse IsNo...
OpenIdAjaxTextBox1.AuthenticationResponse...
AuthenticationStatus.Authenticated Then
'書き込みに成功したことにする(テストなので、...
Dim ci As String = OpenIdAjaxTextBox1.Authent...
MessageLabel.Text = Server.HtmlEncode(ci) & "...
Else
MessageLabel.Text = "ログインしてください。"
End If
End Sub
Protected Sub OpenIdAjaxTextBox1_LoggingIn(ByVal send...
ByVal e As...
'ニックネームを要求する
Dim cr As New DotNetOpenId.Extensions.SimpleRegis...
cr.PolicyUrl = New Uri(Request.Url, Response.Appl...
"~/PrivacyPolicy.aspx"))
cr.Nickname = DotNetOpenId.Extensions.SimpleRegis...
e.Request.AddExtension(cr)
End Sub
Protected Sub OpenIdAjaxTextBox1_UnconfirmedPositiveA...
ByVal sender As Object, ByVal e As OpenIdEven...
OpenIdAjaxTextBox1.RegisterClientScriptExtension( _
Of DotNetOpenId.Extensions.SimpleRegistration...
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>OpenIDテスト</title>
<script type="text/javascript">
function onauthenticated(sender) {
var name = document.getElementById('<%=TextBox2.C...
if (sender) {
if (sender.sreg && sender.sreg.nickname) {
//個人情報(ニックネーム)を表示する
name.value = sender.sreg.nickname;
} else {
//Claimed Identifierを表示する
name.value = sender.getClaimedIdentifier();
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" AssociatedC...
EnableViewState="False" Text="OpenID:"></asp:...
<br />
<RP:OpenIdAjaxTextBox ID="OpenIdAjaxTextBox1" run...
onunconfirmedpositiveassertion=
"OpenIdAjaxTextBox1_UnconfirmedPositiveAs...
onloggingin="OpenIdAjaxTextBox1_LoggingIn"
onclientassertionreceived="onauthenticated(se...
<br />
<asp:Label ID="Label2"
runat="server" AssociatedControlID="TextBox2"...
Text="お名前:"></asp:Label>
<br />
<asp:TextBox ID="TextBox2" runat="server" Width="...
<br />
<asp:Label ID="Label3" runat="server" AssociatedC...
EnableViewState="False" Text="コメント:"></as...
<br />
<asp:TextBox ID="TextBox1" runat="server" Height=...
TextMode="MultiLine" Width="300px" EnableView...
</asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="送信"
onclick="Button1_Click" />
<br />
<br />
<asp:Label ID="MessageLabel" runat="server" Enabl...
</asp:Label>
</div>
</form>
</body>
</html>
}}
#code(csharp){{
<%@ Page Language="C#" %>
<%@ Register assembly="DotNetOpenId" namespace="DotNetOpe...
tagprefix="RP" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs...
{
//認証に成功しているか調べる
if (OpenIdAjaxTextBox1.AuthenticationResponse != ...
OpenIdAjaxTextBox1.AuthenticationResponse.Sta...
AuthenticationStatus.Authenticated)
{
//書き込みに成功したことにする(テストなので...
string ci = OpenIdAjaxTextBox1.Authentication...
MessageLabel.Text = Server.HtmlEncode(ci) +
"さんはコメントを書き込みました。";
}
else
{
MessageLabel.Text = "ログインしてください。";
}
}
protected void OpenIdAjaxTextBox1_LoggingIn(object se...
{
//ニックネームを要求する
DotNetOpenId.Extensions.SimpleRegistration.Claims...
new DotNetOpenId.Extensions.SimpleRegistratio...
cr.PolicyUrl = new Uri(Request.Url, Response.Appl...
"~/PrivacyPolicy.aspx"));
cr.Nickname = DotNetOpenId.Extensions.SimpleRegis...
e.Request.AddExtension(cr);
}
protected void OpenIdAjaxTextBox1_UnconfirmedPositive...
object sender, OpenIdEventArgs e)
{
OpenIdAjaxTextBox1.RegisterClientScriptExtension<
DotNetOpenId.Extensions.SimpleRegistration.Cl...
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>OpenIDテスト</title>
<script type="text/javascript">
function onauthenticated(sender) {
var name = document.getElementById('<%=TextBox2.C...
if (sender) {
if (sender.sreg && sender.sreg.nickname) {
//個人情報(ニックネーム)を表示する
name.value = sender.sreg.nickname;
} else {
//Claimed Identifierを表示する
name.value = sender.getClaimedIdentifier();
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" AssociatedC...
EnableViewState="False" Text="OpenID:"></asp:...
<br />
<RP:OpenIdAjaxTextBox ID="OpenIdAjaxTextBox1" run...
onunconfirmedpositiveassertion=
"OpenIdAjaxTextBox1_UnconfirmedPositiveAs...
onloggingin="OpenIdAjaxTextBox1_LoggingIn"
onclientassertionreceived="onauthenticated(se...
<br />
<asp:Label ID="Label2"
runat="server" AssociatedControlID="TextBox2"...
Text="お名前:"></asp:Label>
<br />
<asp:TextBox ID="TextBox2" runat="server" Width="...
<br />
<asp:Label ID="Label3" runat="server" AssociatedC...
EnableViewState="False" Text="コメント:"></as...
<br />
<asp:TextBox ID="TextBox1" runat="server" Height=...
TextMode="MultiLine" Width="300px" EnableView...
</asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="送信"
onclick="Button1_Click" />
<br />
<br />
<asp:Label ID="MessageLabel" runat="server" Enabl...
</asp:Label>
</div>
</form>
</body>
</html>
}}
**OpenIdTextBoxコントロール [#z14f2f63]
OpenIdTextBoxコントロールは、OpenIdLoginコントロールのテ...
OpenIdTextBoxコントロールで認証を開始するには、LogOnメソ...
OpenIdLoginコントロールとかぶる点が多いため、詳しい説明は...
**OpenIdMobileTextBoxコントロール [#hd3f3770]
OpenIdMobileTextBoxコントロールは、モバイルWebページ用のO...
**次回予告 [#lf52c41a]
次回は、特別なコントロールを使わない方法を紹介する予定で...
**コメント [#e81a7019]
#comment
//これより下は編集しないでください
#pageinfo([[:Category/.NET]] [[:Category/ASP.NET]],2009-0...
終了行:
#title(OpenIDでログインできるサイトを作成する3)
#navi(.NETプログラミング研究)
#contents
*OpenIDでログインできるサイトを作成する3 [#n9c4e07f]
今回もDotNetOpenIdライブラリを使ってOpenIDでログインでき...
**OpenIdAjaxTextBoxコントロール [#sc53db20]
OpenIdAjaxTextBoxコントロールを使うと、画面の遷移を行わず...
このコントロールは、例えば、ブログ等のコメント投稿フォー...
実際にOpenIdAjaxTextBoxコントロールを使ってOpenID認証を行...
まずOpenIdAjaxTextBoxコントロールにOpenID URLを入力し、そ...
#embed(<a href="https://www.flickr.com/photos/dobondotnet...
Discoveryに成功すると、左側にOPのアイコンが表示され、右側...
#embed(<a href="https://www.flickr.com/photos/dobondotnet...
「LOG IN」ボタンをクリックするとポップアップウィンドウが...
認証に成功すると、OpenIdAjaxTextBoxコントロールの右側にチ...
#embed(<a href="https://www.flickr.com/photos/dobondotnet...
認証に成功すると、OpenIdAjaxTextBoxコントロールのAuthenti...
以下に、OpenIdAjaxTextBoxコントロールを使った例を示します...
#code(vbnet){{
<%@ Page Language="vb" %>
<%@ Register assembly="DotNetOpenId" namespace="DotNetOpe...
tagprefix="RP" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, B...
'認証に成功しているか調べる
If OpenIdAjaxTextBox1.AuthenticationResponse IsNo...
OpenIdAjaxTextBox1.AuthenticationResponse...
AuthenticationStatus.Authenticated Then
'書き込みに成功したことにする(テストなので、...
Dim ci As String = _
OpenIdAjaxTextBox1.AuthenticationResponse...
MessageLabel.Text = Server.HtmlEncode(ci) + _
"さんはコメントを書き込みました。"
Else
MessageLabel.Text = "ログインしてください。"
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>OpenIDテスト</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server"
AssociatedControlID="OpenIdAjaxTextBox1"
EnableViewState="False" Text="OpenID:"></asp:...
<br />
<RP:OpenIdAjaxTextBox ID="OpenIdAjaxTextBox1" run...
<br />
<asp:Label ID="Label2" runat="server"
AssociatedControlID="TextBox2"
EnableViewState="False" Text="お名前:"></asp:...
<br />
<asp:TextBox ID="TextBox2" runat="server" Width="...
<br />
<asp:Label ID="Label3" runat="server" AssociatedC...
EnableViewState="False" Text="コメント:"></as...
<br />
<asp:TextBox ID="TextBox1" runat="server" Height=...
TextMode="MultiLine" Width="300px" EnableView...
</asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="送信"
onclick="Button1_Click" />
<br />
<br />
<asp:Label ID="MessageLabel" runat="server" Enabl...
</asp:Label>
</div>
</form>
</body>
</html>
}}
#code(csharp){{
<%@ Page Language="C#" %>
<%@ Register assembly="DotNetOpenId" namespace="DotNetOpe...
tagprefix="RP" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs...
{
//認証に成功しているか調べる
if (OpenIdAjaxTextBox1.AuthenticationResponse != ...
OpenIdAjaxTextBox1.AuthenticationResponse.Sta...
AuthenticationStatus.Authenticated)
{
//書き込みに成功したことにする(テストなので...
string ci = OpenIdAjaxTextBox1.Authentication...
MessageLabel.Text = Server.HtmlEncode(ci) +
"さんはコメントを書き込みました。";
}
else
{
MessageLabel.Text = "ログインしてください。";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>OpenIDテスト</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server"
AssociatedControlID="OpenIdAjaxTextBox1"
EnableViewState="False" Text="OpenID:"></asp:...
<br />
<RP:OpenIdAjaxTextBox ID="OpenIdAjaxTextBox1" run...
<br />
<asp:Label ID="Label2" runat="server"
AssociatedControlID="TextBox2"
EnableViewState="False" Text="お名前:"></asp:...
<br />
<asp:TextBox ID="TextBox2" runat="server" Width="...
<br />
<asp:Label ID="Label3" runat="server" AssociatedC...
EnableViewState="False" Text="コメント:"></as...
<br />
<asp:TextBox ID="TextBox1" runat="server" Height=...
TextMode="MultiLine" Width="300px" EnableView...
</asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="送信"
onclick="Button1_Click" />
<br />
<br />
<asp:Label ID="MessageLabel" runat="server" Enabl...
</asp:Label>
</div>
</form>
</body>
</html>
}}
***JavaScriptでClaimed Identifierや個人情報を表示する [#f...
OpenIdAjaxTextBoxコントロールでは、認証後、画面遷移なしで...
例えば、JavaScriptで次のようなコードを書きます。ここでは...
#code(javascript){{
<script type="text/javascript">
function onauthenticated(sender) {
var name = document.getElementById('<%=TextBox2.C...
if (sender) {
//sender.getClaimedIdentifier()でClaimed Iden...
name.value = sender.getClaimedIdentifier();
}
}
</script>
}}
そして、OpenIdAjaxTextBoxコントロールのOnClientAssertionR...
JavaScriptのコードで"sender"には、"openid_identifier"とい...
さらに同じようなやり方で、SREGで取得した個人情報を画面遷...
DotNetOpenIdのヘルプのOpenIdAjaxTextBox.OnClientAssertion...
個人情報をJavaScriptで表示する具体例はDotNetOpenIdに添付...
#code(vbnet){{
<%@ Page Language="vb" %>
<%@ Register assembly="DotNetOpenId" namespace="DotNetOpe...
tagprefix="RP" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, B...
'認証に成功しているか調べる
If OpenIdAjaxTextBox1.AuthenticationResponse IsNo...
OpenIdAjaxTextBox1.AuthenticationResponse...
AuthenticationStatus.Authenticated Then
'書き込みに成功したことにする(テストなので、...
Dim ci As String = OpenIdAjaxTextBox1.Authent...
MessageLabel.Text = Server.HtmlEncode(ci) & "...
Else
MessageLabel.Text = "ログインしてください。"
End If
End Sub
Protected Sub OpenIdAjaxTextBox1_LoggingIn(ByVal send...
ByVal e As...
'ニックネームを要求する
Dim cr As New DotNetOpenId.Extensions.SimpleRegis...
cr.PolicyUrl = New Uri(Request.Url, Response.Appl...
"~/PrivacyPolicy.aspx"))
cr.Nickname = DotNetOpenId.Extensions.SimpleRegis...
e.Request.AddExtension(cr)
End Sub
Protected Sub OpenIdAjaxTextBox1_UnconfirmedPositiveA...
ByVal sender As Object, ByVal e As OpenIdEven...
OpenIdAjaxTextBox1.RegisterClientScriptExtension( _
Of DotNetOpenId.Extensions.SimpleRegistration...
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>OpenIDテスト</title>
<script type="text/javascript">
function onauthenticated(sender) {
var name = document.getElementById('<%=TextBox2.C...
if (sender) {
if (sender.sreg && sender.sreg.nickname) {
//個人情報(ニックネーム)を表示する
name.value = sender.sreg.nickname;
} else {
//Claimed Identifierを表示する
name.value = sender.getClaimedIdentifier();
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" AssociatedC...
EnableViewState="False" Text="OpenID:"></asp:...
<br />
<RP:OpenIdAjaxTextBox ID="OpenIdAjaxTextBox1" run...
onunconfirmedpositiveassertion=
"OpenIdAjaxTextBox1_UnconfirmedPositiveAs...
onloggingin="OpenIdAjaxTextBox1_LoggingIn"
onclientassertionreceived="onauthenticated(se...
<br />
<asp:Label ID="Label2"
runat="server" AssociatedControlID="TextBox2"...
Text="お名前:"></asp:Label>
<br />
<asp:TextBox ID="TextBox2" runat="server" Width="...
<br />
<asp:Label ID="Label3" runat="server" AssociatedC...
EnableViewState="False" Text="コメント:"></as...
<br />
<asp:TextBox ID="TextBox1" runat="server" Height=...
TextMode="MultiLine" Width="300px" EnableView...
</asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="送信"
onclick="Button1_Click" />
<br />
<br />
<asp:Label ID="MessageLabel" runat="server" Enabl...
</asp:Label>
</div>
</form>
</body>
</html>
}}
#code(csharp){{
<%@ Page Language="C#" %>
<%@ Register assembly="DotNetOpenId" namespace="DotNetOpe...
tagprefix="RP" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs...
{
//認証に成功しているか調べる
if (OpenIdAjaxTextBox1.AuthenticationResponse != ...
OpenIdAjaxTextBox1.AuthenticationResponse.Sta...
AuthenticationStatus.Authenticated)
{
//書き込みに成功したことにする(テストなので...
string ci = OpenIdAjaxTextBox1.Authentication...
MessageLabel.Text = Server.HtmlEncode(ci) +
"さんはコメントを書き込みました。";
}
else
{
MessageLabel.Text = "ログインしてください。";
}
}
protected void OpenIdAjaxTextBox1_LoggingIn(object se...
{
//ニックネームを要求する
DotNetOpenId.Extensions.SimpleRegistration.Claims...
new DotNetOpenId.Extensions.SimpleRegistratio...
cr.PolicyUrl = new Uri(Request.Url, Response.Appl...
"~/PrivacyPolicy.aspx"));
cr.Nickname = DotNetOpenId.Extensions.SimpleRegis...
e.Request.AddExtension(cr);
}
protected void OpenIdAjaxTextBox1_UnconfirmedPositive...
object sender, OpenIdEventArgs e)
{
OpenIdAjaxTextBox1.RegisterClientScriptExtension<
DotNetOpenId.Extensions.SimpleRegistration.Cl...
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>OpenIDテスト</title>
<script type="text/javascript">
function onauthenticated(sender) {
var name = document.getElementById('<%=TextBox2.C...
if (sender) {
if (sender.sreg && sender.sreg.nickname) {
//個人情報(ニックネーム)を表示する
name.value = sender.sreg.nickname;
} else {
//Claimed Identifierを表示する
name.value = sender.getClaimedIdentifier();
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" AssociatedC...
EnableViewState="False" Text="OpenID:"></asp:...
<br />
<RP:OpenIdAjaxTextBox ID="OpenIdAjaxTextBox1" run...
onunconfirmedpositiveassertion=
"OpenIdAjaxTextBox1_UnconfirmedPositiveAs...
onloggingin="OpenIdAjaxTextBox1_LoggingIn"
onclientassertionreceived="onauthenticated(se...
<br />
<asp:Label ID="Label2"
runat="server" AssociatedControlID="TextBox2"...
Text="お名前:"></asp:Label>
<br />
<asp:TextBox ID="TextBox2" runat="server" Width="...
<br />
<asp:Label ID="Label3" runat="server" AssociatedC...
EnableViewState="False" Text="コメント:"></as...
<br />
<asp:TextBox ID="TextBox1" runat="server" Height=...
TextMode="MultiLine" Width="300px" EnableView...
</asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="送信"
onclick="Button1_Click" />
<br />
<br />
<asp:Label ID="MessageLabel" runat="server" Enabl...
</asp:Label>
</div>
</form>
</body>
</html>
}}
**OpenIdTextBoxコントロール [#z14f2f63]
OpenIdTextBoxコントロールは、OpenIdLoginコントロールのテ...
OpenIdTextBoxコントロールで認証を開始するには、LogOnメソ...
OpenIdLoginコントロールとかぶる点が多いため、詳しい説明は...
**OpenIdMobileTextBoxコントロール [#hd3f3770]
OpenIdMobileTextBoxコントロールは、モバイルWebページ用のO...
**次回予告 [#lf52c41a]
次回は、特別なコントロールを使わない方法を紹介する予定で...
**コメント [#e81a7019]
#comment
//これより下は編集しないでください
#pageinfo([[:Category/.NET]] [[:Category/ASP.NET]],2009-0...
ページ名:
▲
▼
[
トップ
] [
新規
|
子ページ作成
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]