Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Selectors / CustomUserNameSecurityTokenAuthenticator.cs / 1305376 / CustomUserNameSecurityTokenAuthenticator.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel.Selectors { using System.Collections.Generic; using System.Collections.ObjectModel; using System.IdentityModel.Claims; using System.IdentityModel.Policy; using System.IdentityModel.Tokens; using System.Security.Principal; public class CustomUserNameSecurityTokenAuthenticator : UserNameSecurityTokenAuthenticator { UserNamePasswordValidator validator; public CustomUserNameSecurityTokenAuthenticator(UserNamePasswordValidator validator) { if (validator == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("validator"); this.validator = validator; } protected override ReadOnlyCollectionValidateUserNamePasswordCore(string userName, string password) { this.validator.Validate(userName, password); return SecurityUtils.CreateAuthorizationPolicies(new UserNameClaimSet(userName, validator.GetType().Name)); } class UserNameClaimSet : DefaultClaimSet, IIdentityInfo { IIdentity identity; public UserNameClaimSet(string userName, string authType) { if (userName == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("userName"); this.identity = SecurityUtils.CreateIdentity(userName, authType); List claims = new List (2); claims.Add(new Claim(ClaimTypes.Name, userName, Rights.Identity)); claims.Add(Claim.CreateNameClaim(userName)); Initialize(ClaimSet.System, claims); } public IIdentity Identity { get { return this.identity; } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel.Selectors { using System.Collections.Generic; using System.Collections.ObjectModel; using System.IdentityModel.Claims; using System.IdentityModel.Policy; using System.IdentityModel.Tokens; using System.Security.Principal; public class CustomUserNameSecurityTokenAuthenticator : UserNameSecurityTokenAuthenticator { UserNamePasswordValidator validator; public CustomUserNameSecurityTokenAuthenticator(UserNamePasswordValidator validator) { if (validator == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("validator"); this.validator = validator; } protected override ReadOnlyCollection ValidateUserNamePasswordCore(string userName, string password) { this.validator.Validate(userName, password); return SecurityUtils.CreateAuthorizationPolicies(new UserNameClaimSet(userName, validator.GetType().Name)); } class UserNameClaimSet : DefaultClaimSet, IIdentityInfo { IIdentity identity; public UserNameClaimSet(string userName, string authType) { if (userName == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("userName"); this.identity = SecurityUtils.CreateIdentity(userName, authType); List claims = new List (2); claims.Add(new Claim(ClaimTypes.Name, userName, Rights.Identity)); claims.Add(Claim.CreateNameClaim(userName)); Initialize(ClaimSet.System, claims); } public IIdentity Identity { get { return this.identity; } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WindowsMenu.cs
- PlatformCulture.cs
- CodeVariableReferenceExpression.cs
- Rules.cs
- ToolStripCustomTypeDescriptor.cs
- DataColumn.cs
- WindowsFormsHost.cs
- CapabilitiesAssignment.cs
- ColumnWidthChangedEvent.cs
- WsdlInspector.cs
- Control.cs
- ClickablePoint.cs
- CurrentChangingEventManager.cs
- ZoneIdentityPermission.cs
- DuplicateMessageDetector.cs
- TargetConverter.cs
- DifferencingCollection.cs
- UInt16Converter.cs
- WeakEventTable.cs
- DocumentXmlWriter.cs
- MonthChangedEventArgs.cs
- QilInvokeEarlyBound.cs
- EventMappingSettings.cs
- Vector3DIndependentAnimationStorage.cs
- TileModeValidation.cs
- PolicyUnit.cs
- DragCompletedEventArgs.cs
- SspiSafeHandles.cs
- Vector3DCollection.cs
- SchemaImporterExtensionElementCollection.cs
- JsonWriterDelegator.cs
- ScriptMethodAttribute.cs
- BaseServiceProvider.cs
- DbBuffer.cs
- FieldToken.cs
- pingexception.cs
- ProxyManager.cs
- AssemblyNameProxy.cs
- SmtpException.cs
- NegotiateStream.cs
- TraceSection.cs
- ListControl.cs
- EditingCoordinator.cs
- SHA256Managed.cs
- EnterpriseServicesHelper.cs
- GatewayDefinition.cs
- SHA512Managed.cs
- ResolvedKeyFrameEntry.cs
- TransformGroup.cs
- MessageSecurityOverTcp.cs
- Int32Rect.cs
- DataGridViewLinkCell.cs
- HelpProvider.cs
- OdbcDataReader.cs
- SortExpressionBuilder.cs
- OfTypeExpression.cs
- GlyphRunDrawing.cs
- InvokeMethodActivity.cs
- TreeViewItem.cs
- DataSourceGeneratorException.cs
- RealProxy.cs
- SqlDataSourceCommandEventArgs.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- RegexInterpreter.cs
- WCFBuildProvider.cs
- TlsnegoTokenProvider.cs
- Icon.cs
- AnnotationDocumentPaginator.cs
- TextEditorLists.cs
- Style.cs
- FamilyMap.cs
- TripleDESCryptoServiceProvider.cs
- SmtpClient.cs
- ProxyAssemblyNotLoadedException.cs
- ObjectTag.cs
- ExpressionPrinter.cs
- ExceptionUtil.cs
- LogArchiveSnapshot.cs
- WebPartMenu.cs
- ErrorHandler.cs
- UrlMapping.cs
- MatrixAnimationUsingPath.cs
- DefaultBinder.cs
- TemplateField.cs
- PropertyGridDesigner.cs
- WrappedDispatcherException.cs
- URIFormatException.cs
- CacheRequest.cs
- ConstrainedDataObject.cs
- DataProtection.cs
- _StreamFramer.cs
- TableSectionStyle.cs
- SubstitutionList.cs
- nulltextnavigator.cs
- UpdateProgress.cs
- UidManager.cs
- ComAdminInterfaces.cs
- SqlComparer.cs
- DoubleLinkList.cs
- CommandEventArgs.cs