2012-04-06 2 views
2

DotNetOpenAuth 4.0.1을 사용하여 OpenId 공급자 (Google)로 사용자를 인증하는 ASP.NET MVC4 앱이 있습니다. 모든 내 dev에 기계 (로컬 호스트)에서 잘 작동합니다.DotNetOpenAuth "상속 보안 규칙이 위반되었습니다"

그러나, 나는 (공유 호스팅) 서버 나 인증을 시도 할 때 (특히 내가 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을 참조하고 있기 때문에 내가 그들을 제거하면 그것들을 묻는다. 다른 생각이있어? – James

+0

내가 무슨 일이 일어나고 있는지 잘 모르겠지만 이것을 답으로 표시하겠습니다. 결국 나는 다른 호스팅 제공 업체로 옮겼고 작동합니다. – James

+0

.net 4에서도이 문제가 발생합니다. 나는 또한 .NET 4.0을 사용하고 있다고 확신한다 ... – Greg