gpt4 book ai didi

dotnetopenauth - 尝试使用asp.net中的DotNetOpenAuth登录名制作最简单的OpenID

转载 作者:行者123 更新时间:2023-12-02 04:14:27 27 4
gpt4 key购买 nike

我已经下载了与http://www.dotnetopenauth.net/关联的Visual Studio 2010模板。我可以像宣传的那样使它工作。我不是从头开始一个项目,也不想花很多时间将所有web.config,处理程序等集成到我的应用程序中,以使OpenID可以为我工作。该文档说,我应该能够使用按钮和用户控件进行单行实现。我相信我已经做到了,并且得到了一个错误。

这是我所做的。

  • 创建一个空的asp.net Web项目
  • 将DotNetOpenAuth.dll添加到bin并引用它
  • 将用户控件注册添加到页面顶部
  • 网页上的
  • 创建按钮,用于调用用户控件。

  • 当我运行它并按下按钮时,我得到:

    “前提条件失败:this.Identifier!= null未设置标识符。”

    我知道必须要比这更多,但我只是不明白。有人可以进一步解释我需要做什么吗?

    谢谢,
    <%@ Page Language="C#" %>
    <%@ Register Assembly="DotNetOpenAuth" Namespace="DotNetOpenAuth.OpenId.RelyingParty" TagPrefix="rp" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <script runat="server">

    protected void LoginId_Click(object sender, EventArgs e)
    {
    OpenIdTextBox1.LogOn();
    }
    </script>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title></title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>

    <asp:Button ID="LoginId" runat="server" Text="Button" onclick="LoginId_Click" />

    <rp:OpenIdTextBox ID="OpenIdTextBox1" runat="server" />

    </div>
    </form>
    </body>
    </html>

    最佳答案

    您实际上是在单击按钮之前在框中输入标识符的吗?你必须。

    对于那些忘记键入标识符的人,您可以避免麻烦的事情,方法是添加一个指向文本框的RequiredFieldValidator控件,然后在调用if (Page.IsValid)之前在按钮的单击处理程序中检查LogOn

    希望这会有所帮助。您是否考虑过使用OpenIdLogin控件?如果您要添加最容易的标签,那是最简单的,因为您根本没有任何代码,只有一个标签。

    另外,请确保在登录页面顶部的ValidateRequest="false"标签中添加<%@ Page %>。否则,您的用户会偶尔遇到随机故障,因为ASP.NET错误地将某些OpenID身份验证响应解释为攻击。
    因此,例如,如果您的.aspx的第一行是:

    <%@ Page Language="C#" AutoEventWireup="True" CodeBehind="login.aspx.cs" Inherits="OpenIdRelyingPartyWebForms.login" %>

    做了
    <%@ Page ValidateRequest="false" Language="C#" AutoEventWireup="True" CodeBehind="login.aspx.cs" Inherits="OpenIdRelyingPartyWebForms.login" %>

    关于dotnetopenauth - 尝试使用asp.net中的DotNetOpenAuth登录名制作最简单的OpenID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3527603/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com