private void _credentialManager_ResolveCredentials(object sender, ResolveCredentialsEventArgs e) { ResolveCredentialsResult res = null; lock (_credentials) { if (_credentials.ContainsKey(e.Principal)) { res = new ResolveCredentialsResult(_credentials[e.Principal]); } else { foreach (KeyValuePair <SecurityPrincipal, ICredentialObject> pair in _credentials) { //// Check for wildcard principals in both direction //if (pair.Key.IsWildcardMatch(principal) || principal.IsWildcardMatch(pair.Key)) //{ // res = new ResolveCredentialsResult(pair.Value); //} } } } if (res == null) { if (ResolveCredentials != null) { ResolveCredentials(this, e); } } else { e.Result = res; } }
private void ResolveCredentials(object sender, ResolveCredentialsEventArgs e) { if (InvokeRequired) { Invoke(new EventHandler <ResolveCredentialsEventArgs>(ResolveCredentials), sender, e); } else { if (e.Principal.PrincipalType == typeof(AuthenticationCredentials)) { if (_document.Credentials.ContainsKey(e.Principal)) { e.Result = new ResolveCredentialsResult(_document.Credentials[e.Principal], false); } else { using (GetAuthenticationCredentialsForm frm = new GetAuthenticationCredentialsForm(e.Principal)) { if (frm.ShowDialog(this) == DialogResult.OK) { AuthenticationCredentials creds = new AuthenticationCredentials(frm.Username, frm.Domain, frm.Password); e.Result = new ResolveCredentialsResult(creds, frm.SaveCreds && frm.SessionOnly); if (frm.SaveCreds && !frm.SessionOnly) { _document.Credentials[e.Principal] = creds; credentialsEditorControl.UpdateCredentials(); } } } } } } }