- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在使用 ASP.Net MVC 4 Developer Preview 尝试 DotNetOpenAuth 示例。
我可以从测试页成功调用我的操作,但由于一行代码而遇到了一个奇怪的问题:
var request = _openid.CreateRequest(openIdUrl);
var fetch = new FetchRequest();
fetch.Attributes.AddRequired(WellKnownAttributes.Contact.Email);
fetch.Attributes.AddRequired(WellKnownAttributes.Name.First);
fetch.Attributes.AddRequired(WellKnownAttributes.Name.Last);
request.AddExtension(fetch);
//return RedirectToAction("Login");
return request.RedirectingResponse.AsActionResult(); // <-- This is the line throwing the error
如果我注释掉有问题的代码行并取消注释之前的代码行,我就不会再看到运行时错误。
到目前为止我已经尝试过:
1)确保我有正确的重定向:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
</dependentAssembly>
</assemblyBinding>
<legacyHMACWarning enabled="0" />
</runtime>
2) 拥有正确的命名空间:
using DotNetOpenAuth.OpenId.Extensions.AttributeExchange;
using DotNetOpenAuth.OpenId.Extensions;
在我看来,DotNetOpenAuth dll 是针对 MVC V 1.0.0 编译的,并且绑定(bind)重定向要么不起作用,要么扩展方法可能针对已弃用的方法起作用。
MVC版本:4.0.0.0DotNetOpenAuth版本:3.4.7.11121
如果您能提供有关 MVC 4 的任何帮助,我们将不胜感激。MVC 错误屏幕图像如下:
更新我发现 AsActionResult 是问题的原因,可能是因为扩展方法与.Net 4.0不兼容。我可以从 request.RedirectingResponse 获取 OutgoingWebResponse 对象,但知道如何将其转换为 ActionResult
最佳答案
您的绑定(bind)重定向似乎已损坏。注意到 System.Web.Mvc 是如何出现两次的吗?尝试删除第二个,因为第一个看起来是正确的。
是的,DNOA 是针对 MVC 1.0 构建的,这是设计使然,因此它适用于所有版本的 MVC(给定适当的重定向)。这纯粹是 MVC 版本的事情——而不是 .NET 4.0 的事情。
关于asp.net - 使用 MVC 4.0 的 DotNetOpenAuth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8888072/
我刚刚使用 Log4net 设置了一个日志记录提供程序,并在测试时注意到 DotNetOpenAuth 也在记录消息。他们一定也在使用 log4net,太棒了,我不希望每次有人使用 openID 登录
我正在尝试使用 DNOA 为我的应用程序提供 OpenId 支持,以便离开我迄今为止一直在使用的 Janrain 解决方案。问题是,到目前为止,我拥有的用户拥有基于个人资料的标识符(https://w
我只想使用 google 登录,并希望在我的网站上显示在用户的一般配置文件(如照片、电子邮件地址和姓名)中登录的访问权限。 DotNetOpenAuth 有可能吗? 最佳答案 这非常简单。使用 Ope
我目前正在从 Janrain engange (rpxnow) 切换到 dotnetopenauth。在我的数据库中,我将用户声明的标识符存储在表单中 https://www.google.com/a
我正在使用 Dotnetopenid 进行登录。 我正在使用 dotnetopenid 提供商登录我的应用程序(假设是 google)。 在注销时,我将通过 FormsAuthentication.S
您好, 我想将 ClaimedIdentifier 保存在数据库中。 它可以持续多久? 大概 255 个字符可以吗? 最佳答案 openid.claimed_id 仅受 URL 的最大长度限制,从技术
我刚刚开始将 DotNetOpenAuth 与 MVC 应用程序一起使用,我很难理解它的实际工作原理。 据我了解,DotNetOpenAuth 将负责使用 Google/Twitter/Faceboo
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 8年前关闭。 Improve this qu
我正在通过dotNetOpenAuth Samples (OpenIdRelyingPartyMVC 和 OpenIdProviderMvc)并提出一个问题以更好地理解...... 例如,在依赖方应用
我正在为 OpenId 提供商和依赖方实现 DotNetOpenAuth。在这两种情况下,服务器都位于负载均衡器后面,因此对于任何 HTTP 请求,我们不能假设我们会访问同一服务器。 看来 DotNe
我有一个负载均衡器,后面有一些网络服务器。到达负载均衡器的流量通过 SSL 进行保护,并且从负载均衡器到 Web 服务器的数据作为未加密的 HTTP 流量发送。我在 Web 服务器上的负载均衡器后面使
我已经下载了与http://www.dotnetopenauth.net/关联的Visual Studio 2010模板。我可以像宣传的那样使它工作。我不是从头开始一个项目,也不想花很多时间将所有we
我正在尝试使用 ASP.NET MVC 实现 OpeinID 登录。我正在尝试按照 http://blog.nerdbank.net/2008/04/add-openid-login-support-
如果您从 Github 源构建,您会在检查签名程序集时遇到错误。 是否可以只更改: SignAssembly = false DelaySign = false 在 tools\DotNetOpenA
源代码托管在哪里? git 中心?我到处都找不到它。 最佳答案 是的,它与项目的其余部分一起位于 GitHub 上。它位于 master 分支下。 https://github.com/AArnott
我使用此页面(第一个示例)提供的代码创建了一个简单页面: http://www.dotnetopenauth.net/developers/code-snippets/programmatic-ope
我有以下代码: protected void Page_Load(object sender, EventArgs e) { var openId = new OpenIdRelyingPar
我知道 stackoverflow 使用 OpenID 身份验证。我也想尝试使用它。我正在使用带有 C# 的 asp.net mvc 2.0。 我找到了这个 http://www.dotnetopen
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 5 年前。
几天来,我一直在绞尽脑汁,试图使用 DotNetOpenAuth 从 Google 获取日历列表。 我可以使用 DotNetOpenAuth 示例成功获取联系人列表。我使用 OpenId+OAuth
我是一名优秀的程序员,十分优秀!