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
- PassportAuthenticationEventArgs.cs
- Label.cs
- EventMetadata.cs
- MLangCodePageEncoding.cs
- CompareValidator.cs
- entityreference_tresulttype.cs
- CancellationTokenRegistration.cs
- CircleHotSpot.cs
- TextEditorThreadLocalStore.cs
- ElementAction.cs
- ObjectViewEntityCollectionData.cs
- TableProviderWrapper.cs
- HtmlInputControl.cs
- Memoizer.cs
- DataGridViewCellStyleBuilderDialog.cs
- LogWriteRestartAreaState.cs
- XmlSerializationGeneratedCode.cs
- PathTooLongException.cs
- TypeLoadException.cs
- COM2ExtendedBrowsingHandler.cs
- NegationPusher.cs
- AstTree.cs
- UnrecognizedPolicyAssertionElement.cs
- HighlightVisual.cs
- COSERVERINFO.cs
- Visual3D.cs
- EdmToObjectNamespaceMap.cs
- DifferencingCollection.cs
- Vector3dCollection.cs
- SystemFonts.cs
- PersonalizationState.cs
- UnknownMessageReceivedEventArgs.cs
- SymLanguageType.cs
- XpsPackagingPolicy.cs
- TiffBitmapEncoder.cs
- BrushMappingModeValidation.cs
- WebPartDisplayModeCancelEventArgs.cs
- DecoderReplacementFallback.cs
- Command.cs
- Identifier.cs
- RectValueSerializer.cs
- DataReaderContainer.cs
- SmtpLoginAuthenticationModule.cs
- Point3DAnimation.cs
- InputEventArgs.cs
- TypedElement.cs
- DropShadowEffect.cs
- Substitution.cs
- VisualStates.cs
- SharedTcpTransportManager.cs
- DesignerActionUIStateChangeEventArgs.cs
- ContainerControl.cs
- BinaryObjectInfo.cs
- ValuePattern.cs
- WindowCollection.cs
- XmlUtil.cs
- TraceSwitch.cs
- HttpVersion.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- coordinatorscratchpad.cs
- OleDbRowUpdatingEvent.cs
- TimeZone.cs
- PerformanceCounterLib.cs
- StorageMappingItemLoader.cs
- Debug.cs
- HitTestParameters3D.cs
- SizeLimitedCache.cs
- SettingsPropertyNotFoundException.cs
- WebPartDescriptionCollection.cs
- ActivitySurrogateSelector.cs
- EraserBehavior.cs
- IndexingContentUnit.cs
- OutputWindow.cs
- NumberFormatter.cs
- SQLBinary.cs
- MediaElement.cs
- ExpressionBinding.cs
- ToolBar.cs
- ipaddressinformationcollection.cs
- XmlWhitespace.cs
- EditorPartCollection.cs
- DataSourceCacheDurationConverter.cs
- BitmapSource.cs
- InvokeProviderWrapper.cs
- SQLDoubleStorage.cs
- DataGridCellsPresenter.cs
- AppSecurityManager.cs
- XmlWriterSettings.cs
- SoapDocumentMethodAttribute.cs
- ExtendedPropertyCollection.cs
- IBuiltInEvidence.cs
- Currency.cs
- Subtree.cs
- SchemaContext.cs
- NativeMethods.cs
- CodeComment.cs
- CallbackHandler.cs
- ModifyActivitiesPropertyDescriptor.cs
- KeyValueConfigurationElement.cs
- ToolStripItemDesigner.cs