I have a small GUI Extension that opens a popup from the context menu using this javascript code:
Extensions.Popup.prototype._execute = function Popup$_execute(selection) {
selectedItem = selection.getItems()[0];
// build the URL for our popup
var host = window.location.protocol + "//" + window.location.host;
var params = "?uri=" + selectedItem;
var url = host + '/WebUI/Editors/AdminToolPopup/default.aspx' + params;
var popup = $popup.create(url, "toolbar=no, width=600px, height=200px, resizable=false, scrollbars=false, null);
popup.open();
}
The popup is a small .Net Web application using the Core Service, with bindings specified in a web.config file located in the extension folder.
I get an impersonation error message from the Core Service. Is it a problem with the web.config being there? Do I need a config-less Core Service?
Error from popup:
System.IdentityModel.Selectors.PolicyValidationException: The incoming policy could not be validated. For more information, please see the event log. Server stack trace: at System.IdentityModel.Selectors.ExceptionHelper.ThrowIfCardSpaceException(Int32 status) at System.IdentityModel.Selectors.CardSpaceSelector.GetToken(CardSpacePolicyElement[] policyChain, SecurityTokenSerializer tokenSerializer) at System.ServiceModel.Description.ClientCredentials.GetInfoCardSecurityToken(Boolean requiresInfoCard, CardSpacePolicyElement[] chain, SecurityTokenSerializer tokenSerializer) at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs) at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink) Exception rethrown at [0]: at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result) at System.ServiceModel.Channels.ServiceChannel.DisplayInitializationUI() at System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) Exception rethrown at [1]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at Tridion.ContentManager.CoreService.Client.ISessionAwareCoreService.Impersonate(String userName) at Tridion.Web.CMUtils.CMSession.get_CoreServiceClient() at Tridion.Web.UI.Models.TCM54.TcmAuthorizationModule.OnAuthorizeRequest(Object sender, EventArgs e) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)