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
- ExpressionValueEditor.cs
- PeerServiceMessageContracts.cs
- UIElement3D.cs
- InvalidCastException.cs
- WebException.cs
- ExceptionRoutedEventArgs.cs
- SiteMapNodeCollection.cs
- ForwardPositionQuery.cs
- SqlTopReducer.cs
- Grid.cs
- MatrixAnimationBase.cs
- MaterializeFromAtom.cs
- FormClosingEvent.cs
- HttpDictionary.cs
- DCSafeHandle.cs
- Win32NamedPipes.cs
- TTSEngineProxy.cs
- ProviderCollection.cs
- EventSinkHelperWriter.cs
- EnvelopedSignatureTransform.cs
- OutputCacheSettingsSection.cs
- ElementHostAutomationPeer.cs
- DataGridCell.cs
- SoapReflectionImporter.cs
- FrugalList.cs
- ViewValidator.cs
- SHA1Managed.cs
- ElementHost.cs
- LinkLabelLinkClickedEvent.cs
- MsdtcClusterUtils.cs
- SwitchExpression.cs
- SocketPermission.cs
- AutoGeneratedFieldProperties.cs
- StateBag.cs
- RoleManagerEventArgs.cs
- DesignerActionPanel.cs
- GeneratedCodeAttribute.cs
- Base64Stream.cs
- EqualityArray.cs
- XPathChildIterator.cs
- StrongNamePublicKeyBlob.cs
- DictionaryKeyPropertyAttribute.cs
- ToolBarButton.cs
- WindowsTooltip.cs
- EncoderBestFitFallback.cs
- DashStyles.cs
- Sorting.cs
- QueryInterceptorAttribute.cs
- UniqueConstraint.cs
- RoutedUICommand.cs
- MetaTableHelper.cs
- UnsafeNativeMethods.cs
- ToolStripItemGlyph.cs
- OracleMonthSpan.cs
- MissingFieldException.cs
- BitmapEffectDrawingContent.cs
- DbConnectionPoolIdentity.cs
- CollectionViewSource.cs
- XmlAttributeOverrides.cs
- AnnotationComponentChooser.cs
- PixelFormats.cs
- Thread.cs
- EntityDataSourceUtil.cs
- SafeBuffer.cs
- SocketElement.cs
- PrivilegeNotHeldException.cs
- MediaTimeline.cs
- ColorContextHelper.cs
- ColumnMap.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- TextCollapsingProperties.cs
- WizardDesigner.cs
- InfoCardTraceRecord.cs
- DataGridViewDataConnection.cs
- ILGenerator.cs
- ErrorFormatterPage.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- SqlDataSource.cs
- ProjectionNode.cs
- SingleSelectRootGridEntry.cs
- _SslSessionsCache.cs
- MiniConstructorInfo.cs
- PointCollection.cs
- AccessKeyManager.cs
- LinkClickEvent.cs
- WebMethodAttribute.cs
- EditBehavior.cs
- ToolZone.cs
- RelatedImageListAttribute.cs
- ToolStripContentPanelDesigner.cs
- CompilationLock.cs
- Emitter.cs
- XPathAncestorQuery.cs
- DocumentationServerProtocol.cs
- InputDevice.cs
- ClientRoleProvider.cs
- SqlBuilder.cs
- XamlToRtfParser.cs
- OleDbDataReader.cs
- Console.cs