protected override IClaimsIdentity GetOutputClaimsIdentity(IClaimsPrincipal principal, RequestSecurityToken request, Scope scope) { if (null == principal) { throw new ArgumentNullException("principal"); } var outputIdentity = new ClaimsIdentity(); var roles = new RolePrincipal(principal.Identity); outputIdentity.Claims.Add(new Claim(ClaimTypes.Name, principal.Identity.Name)); outputIdentity.Claims.Add(new Claim(ClaimTypes.Role, roles.GetRoles().First())); return outputIdentity; }
void WordUpEntities_SendingRequest (object sender, System.Data.Services.Client.SendingRequestEventArgs e) { NetworkCredential Creds = this.Credentials as NetworkCredential; String UserName = Thread.CurrentPrincipal.Identity.Name; RolePrincipal PrRolePrincipal = new RolePrincipal (Thread.CurrentPrincipal.Identity); String [] AllRoles = PrRolePrincipal.GetRoles (); String AuthenticationType = Thread.CurrentPrincipal.Identity.AuthenticationType; ((HttpWebRequest) e.Request).CookieContainer = ((ClientFormsIdentity) Thread.CurrentPrincipal.Identity).AuthenticationCookies; // foreach (Object TestCookie in ((HttpWebRequest) e.Request).CookieContainer.GetCookies (this.BaseUri)) // { // } //// ((HttpWebRequest) e.Request).Credentials = CredentialCache.DefaultNetworkCredentials; // //String AuthCookie = GetCookie ("Heinz", "monika").Replace (".ASPXAUTH=", ""); // //((HttpWebRequest) e.Request).Headers.Add (".ASPXAUTH", AuthCookie); // ((HttpWebRequest) e.Request).PreAuthenticate = true; // List<String> Headers = new List<string> (); // foreach (String Key in ((HttpWebRequest) e.Request).Headers.AllKeys) // { // Headers.Add (Key + " = " + ((HttpWebRequest) e.Request).Headers [Key].ToString()); // } }
public static String [] CheckUser (ref String UserName) { int RetryCounter = 0; while (RetryCounter < 5) { try { CheckServiceUris (); bool Return = false; String MainModuleName = System.IO.Path.GetFileNameWithoutExtension (Basics.GetCurrentProcessNamePure ()); if (Clipboard.ContainsText (TextDataFormat.UnicodeText)) { Object ClipboardContent = Clipboard.GetData (DataFormats.UnicodeText); if (((String) ClipboardContent).IndexOf (MainModuleName + "_WPMediaStartWith;") != -1) { String [] ExternalCredentials = ((String) ClipboardContent).Split (';'); if (ExternalCredentials.Length > 3) { Return = Membership.ValidateUser (ExternalCredentials [1], ExternalCredentials [2]); } if (Return) { WMB.WPMediaApplicationState.Instance.Properties ["CommunicationMutexName"] = ExternalCredentials [3]; Clipboard.Clear (); } } else { Return = Membership.ValidateUser(String.Empty, String.Empty); } } else { Return = Membership.ValidateUser(String.Empty, String.Empty); } if (!Return) { return null; } RetryCounter = 10; } catch (Exception Excp) { Basics.ReportErrorToEventViewer ("CVM.LoginHandler.CheckUser", "Fehler beim Logon\r\n" + Excp.ToString()); MessageBox.Show ("Fehler beim " + Convert.ToString (++RetryCounter) + ". LogonVersuch\r\n" + "Bitte versuchen Sie es noch einmal\r\n"); if (RetryCounter > 3) { MessageBox.Show ("Fehler beim " + Convert.ToString (++RetryCounter) + ". LogonVersuch\r\n" + "es scheint Verbindungsprobleme zu geben,\r\n" + "Bitte versuchen Sie es etwas später noch einmal\r\n"); return null; } } } UserName = Thread.CurrentPrincipal.Identity.Name; Roles.ApplicationName = Membership.ApplicationName; String [] AllRoles = null; RolePrincipal RPRolePrincipal = new RolePrincipal (Thread.CurrentPrincipal.Identity); try { AllRoles = RPRolePrincipal.GetRoles (); CreateSecurityToken (UserName); return AllRoles; } catch (Exception Excp) { Basics.ReportErrorToEventViewer ("CVM.LoginHandler.CheckUser", "Fehler beim GetRoles\r\n" + Excp.ToString()); return null; } }