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
- KeysConverter.cs
- SqlColumnizer.cs
- PageSetupDialog.cs
- OleDbConnection.cs
- CodeExpressionCollection.cs
- X509SecurityTokenAuthenticator.cs
- DesignTimeVisibleAttribute.cs
- FormViewPageEventArgs.cs
- InternalBase.cs
- ProcessModule.cs
- ThreadExceptionDialog.cs
- BuildProvider.cs
- ComplexPropertyEntry.cs
- FontNamesConverter.cs
- AuthorizationSection.cs
- XmlSerializerFactory.cs
- UpdatePanel.cs
- ExpressionBuilderContext.cs
- HttpCapabilitiesSectionHandler.cs
- AesCryptoServiceProvider.cs
- DocumentReference.cs
- DBNull.cs
- GeometryHitTestParameters.cs
- ParseElementCollection.cs
- Function.cs
- XmlSerializerSection.cs
- _DigestClient.cs
- GridItemProviderWrapper.cs
- ConnectionPointCookie.cs
- ItemContainerGenerator.cs
- DataSourceCache.cs
- EntityTypeBase.cs
- DatePicker.cs
- FontUnitConverter.cs
- SmiMetaDataProperty.cs
- SwitchAttribute.cs
- ArraySortHelper.cs
- embossbitmapeffect.cs
- HttpTransportElement.cs
- Point3DAnimation.cs
- ConcatQueryOperator.cs
- TextEditorSpelling.cs
- AnnotationComponentManager.cs
- ShadowGlyph.cs
- UIElementCollection.cs
- ExpressionNode.cs
- ComPlusTypeValidator.cs
- RijndaelManaged.cs
- RewritingProcessor.cs
- LogStore.cs
- RequestNavigateEventArgs.cs
- JsonEnumDataContract.cs
- CLSCompliantAttribute.cs
- CodeTypeReferenceCollection.cs
- XmlSchemaAttribute.cs
- InternalTypeHelper.cs
- HttpRequestCacheValidator.cs
- InstancePersistenceCommandException.cs
- PenContext.cs
- ACL.cs
- AssertSection.cs
- XmlSchemaInferenceException.cs
- EditorPartDesigner.cs
- CultureTable.cs
- XmlReaderSettings.cs
- ResourceReferenceKeyNotFoundException.cs
- OdbcTransaction.cs
- FixedDocumentPaginator.cs
- EmptyEnumerator.cs
- MsmqAppDomainProtocolHandler.cs
- AnimationException.cs
- GrabHandleGlyph.cs
- EventLog.cs
- CircleHotSpot.cs
- CalendarDay.cs
- CodeEntryPointMethod.cs
- InplaceBitmapMetadataWriter.cs
- ListViewInsertionMark.cs
- CoTaskMemSafeHandle.cs
- prefixendpointaddressmessagefilter.cs
- XmlFormatExtensionPrefixAttribute.cs
- SubpageParagraph.cs
- SqlPersonalizationProvider.cs
- AssemblyCollection.cs
- XmlSchemaSubstitutionGroup.cs
- Error.cs
- CodeValidator.cs
- UrlMapping.cs
- TextOutput.cs
- HMACRIPEMD160.cs
- SimpleBitVector32.cs
- PreloadedPackages.cs
- AnnotationComponentChooser.cs
- ContentPlaceHolder.cs
- CompilerTypeWithParams.cs
- DropShadowBitmapEffect.cs
- MgmtConfigurationRecord.cs
- _DisconnectOverlappedAsyncResult.cs
- XamlBrushSerializer.cs
- EmbeddedMailObjectsCollection.cs