偽装を必要に応じて設定したWCFメソッドを呼び出すWebアプリケーションがあります。この方法では、セキュリティグループを返す別のWebサービス(ASMX)を呼び出す必要があります。問題は、偽装が必須として設定されているため、ASMXサービスのインスタンスを作成しようとするとエラーが発生します。WCF偽装エラーASMXを呼び出す
WCFサービスメソッド
[OperationBehavior(Impersonation = ImpersonationOption.Required)]
public List<MacroTypeInfo> GetFilteredMacroDataTypes(MacroDataTypeSection section)
{
// Errors out here
using (var login = new local.intranet.webservices.login())
{
login.getSecurityGroupsForUser(); // Never gets to this line
}
}
私が手にエラーが
Either a required impersonation level was not provided, or the provided
impersonation level is invalid. (Exception from HRESULT: 0x80070542)
私はこの偽装必要なメソッドこのWebサービスの内部を呼び出すことができるようにしなければならない何か他のものはありますか? OperationBehavior属性を削除すると、呼び出しが機能します。
FWIWあなたはすべきではありません。 –
あなたはこの考え方を拡大できますか? – user3726393
偽装は、文字通り認証と承認に対する最悪の解決策です。 Active Directoryサーバーを介した集中管理を許可したい場合でも、認証する必要のある偽装をAPIとして使用してはなりません。 –