0
フォーム認証と承認を使用すると、WCF Rest Webサービスから次の要求エラーが発生します。これは、認証と承認なしで正常に動作します: -フォーム認証と承認を使用するとWCF Rest Web Service Requestエラーが発生する
「サーバーが要求の処理中にエラーが発生したサービスに有効な要求を構築するためのサービスのヘルプページをご覧ください。。」 .NET 4でそう何.SVCファイルを構築していない
その、ここではサービスコードがある: - :
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</modules>
</system.webServer>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<standardEndpoints>
<standardEndpoint name="" helpEnabled="true" crossDomainScriptAccessEnabled="true" defaultOutgoingResponseFormat="Json" automaticFormatSelectionEnabled="true"/>
</webHttpEndpoint>
</standardEndpoints>
</system.serviceModel>
<system.web>
<authentication mode="Forms">
<forms defaultUrl="Service1" timeout="20"
ticketCompatibilityMode="Framework40"
loginUrl="login.aspx" name=".Mobile-Rest-Api" cookieless="UseCookies"/>
</authentication>
<authorization>
<deny users="?" />
<allow users="*"/>
</authorization>
<!--<authentication mode="None"/>-->
</system.web>
<location path="login">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
</configuration>
上の任意のヘルプ - ここ
namespace WcfRestService1
{
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class Service1
{
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json)]
public string GetHelloMessage()
{
return ("hello from web service");
}
}
}
は、Web構成コードですこれは素晴らしいことです、事前に感謝します。
私はcrossDomainScriptAccessEnabled = "true"を削除すると認証がうまくいくと思いますが、すべて動作しますが、別のドメインからのajax呼び出しでサービスにアクセスできなくなります。これはサービスのポイントです。ここをクリックしてください: - http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/0ef77f50-662a-49c8-8dd0-8b2804f78d99 – user1242444
JSONPを使用する必要があるajaxクロスドメインを使用する –
はい私は知っていますJSONPを使用する必要があります。上記のリンクを読むと、認証を使用するときにJSONPが生成されますが、これはセキュリティ上の制限であるバグではありません。したがって、JSONP呼び出しを許可するすべてのサービスは公開されている必要があります。 – user1242444