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
- XmlIlVisitor.cs
- CaseInsensitiveComparer.cs
- ItemList.cs
- DesignerDataSourceView.cs
- ProfileSettingsCollection.cs
- DecoratedNameAttribute.cs
- InvokeWebServiceDesigner.cs
- AppDomainAttributes.cs
- RepeatBehaviorConverter.cs
- XmlSchemaProviderAttribute.cs
- FontStretchConverter.cs
- ByteConverter.cs
- Command.cs
- KnownTypesHelper.cs
- ByteConverter.cs
- EventTask.cs
- ApplicationFileParser.cs
- XmlDownloadManager.cs
- StylusCaptureWithinProperty.cs
- Config.cs
- InputLanguageManager.cs
- FixedBufferAttribute.cs
- BoundingRectTracker.cs
- TextServicesDisplayAttributePropertyRanges.cs
- BaseDataList.cs
- EvidenceTypeDescriptor.cs
- WebServicesInteroperability.cs
- LinqDataSourceUpdateEventArgs.cs
- EdmToObjectNamespaceMap.cs
- SpeechEvent.cs
- ExtendedPropertyDescriptor.cs
- HTMLTagNameToTypeMapper.cs
- Point3DAnimationBase.cs
- TextContainerChangeEventArgs.cs
- ToolBarButton.cs
- XmlDocumentType.cs
- DataContractSerializer.cs
- UIElement3D.cs
- ReversePositionQuery.cs
- HeaderUtility.cs
- HtmlTitle.cs
- CodeRegionDirective.cs
- LiteralSubsegment.cs
- GradientBrush.cs
- BinaryKeyIdentifierClause.cs
- DataSetViewSchema.cs
- HandlerFactoryWrapper.cs
- VirtualPathUtility.cs
- DataGridHeaderBorder.cs
- PictureBox.cs
- LocalFileSettingsProvider.cs
- SqlNodeAnnotations.cs
- OdbcInfoMessageEvent.cs
- ZipIOLocalFileDataDescriptor.cs
- DataGridViewCellPaintingEventArgs.cs
- XmlConverter.cs
- Selector.cs
- PasswordTextNavigator.cs
- ConfigXmlElement.cs
- Condition.cs
- SqlUDTStorage.cs
- XmlSiteMapProvider.cs
- SelectionWordBreaker.cs
- UnsafeNativeMethods.cs
- AnnotationResourceCollection.cs
- MenuEventArgs.cs
- TransformedBitmap.cs
- TextBlockAutomationPeer.cs
- FixedDSBuilder.cs
- XmlExpressionDumper.cs
- CodeIterationStatement.cs
- TextAnchor.cs
- TemplatePagerField.cs
- XamlStackWriter.cs
- GenericUriParser.cs
- StatusBarDrawItemEvent.cs
- IteratorFilter.cs
- ObjectAssociationEndMapping.cs
- CreateUserErrorEventArgs.cs
- WorkflowDefinitionDispenser.cs
- PropertyInformation.cs
- SortAction.cs
- DataGridAutomationPeer.cs
- CultureTable.cs
- HttpApplication.cs
- TypedTableBaseExtensions.cs
- GridLengthConverter.cs
- WarningException.cs
- AdapterUtil.cs
- TargetInvocationException.cs
- Hash.cs
- NamedObject.cs
- DbMetaDataCollectionNames.cs
- Filter.cs
- RuntimeHelpers.cs
- ToolStripSplitButton.cs
- ListBox.cs
- XmlLinkedNode.cs
- GlobalizationSection.cs
- HttpListenerRequest.cs