2012-04-06 42 views
2

DotNetOpenAuth 4.0.1を使用してOpenIdプロバイダ(Google)でユーザーを認証するASP.NET MVC4アプリケーションがあります。すべて私のdevマシン(localhost)で正常に動作します。DotNetOpenAuth "継承セキュリティルール違反"

私は(共有ホスティング)サーバにWebアプリケーションを展開するときに、私が認証しようとしたときに(特に私はOpenIdRelyingPartyを作成しようとすると、)しかし、私は次のエラーを取得する:

メンバをオーバーライドしている間、継承セキュリティルールが違反しました: 'DotNetOpenAuth.Messaging.ProtocolException.GetObjectData(System.Runtime.Serialization.SerializationInfo、System.Runtime.Serialization.StreamingContext)'。オーバーライドされるメソッドのセキュリティアクセシビリティは、オーバーライドされるメソッドのセキュリティアクセシビリティに一致する必要があります。

スタックトレース:

DotNetOpenAuth.Messaging.ErrorUtilities.VerifyProtocol(Boolean condition, String message, Object[] args) +0 
DotNetOpenAuth.Messaging.Channel.ValidateAndPrepareBindingElements(IEnumerable`1 elements) +524 
DotNetOpenAuth.Messaging.Channel..ctor(IMessageFactory messageTypeProvider, IChannelBindingElement[] bindingElements) +316 
DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel..ctor(IMessageFactory messageTypeProvider, IChannelBindingElement[] bindingElements) +48 
DotNetOpenAuth.OpenId.ChannelElements.OpenIdRelyingPartyChannel..ctor(ICryptoKeyStore cryptoKeyStore, INonceStore nonceStore, RelyingPartySecuritySettings securitySettings) +52 
DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty..ctor(ICryptoKeyStore cryptoKeyStore, INonceStore nonceStore) +570 
DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty..ctor() +65 
MyProject.Controllers.OpenIdController.Authenticate(String returnUrl) in OpenIdController.cs:81 
... 

私はDotNetOpenAuth媒体信託で正常に動作することを聞いたので、私はエラーを取得して驚きました。どうすれば修正できますか? DotNetOpenAuthソースコードを変更する必要があるのですか、それとも簡単な方法ですか?

質問はthis oneと似ていますが、ソースのどの部分を編集する必要があるのか​​分かりません。また、DotNetOpenAuthに関してこれまで誰もこの質問をしていないのは間違っているようですので、何か間違っていますか?助けてください!

答えて

0

.NET 3.5をターゲットとするDotNetOpenAuthビルドを実行しているようです。 .NET 4.0が導入した大きな変化は、さまざまなセキュリティ属性の要件でした。あなたはget the DotNetOpenAuth build that targets .NET 4.0 from NuGetできます。

+0

ご返信ありがとうございます。私は間違いなく.NET 4ビルドを持っています(リファレンスに 'ランタイムバージョンv4.0.30319'と書かれています)。私のアプリは正しいDLLを参照しています。なぜなら、私がそれらを削除すると、それらのDLLを要求するからです。他に何が起きているのでしょうか? – James

+0

私はこれを答えとしてマークしますが、何が起こっているのか分かりません。結局、私は別のホスティングプロバイダに移動し、それは動作します。 – James

+0

.net 4でもこの問題が発生しています。私もかなり確信しています。私は.NET 4.0のものを使っています... – Greg