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
- IdentityVerifier.cs
- GridItemCollection.cs
- TaskFileService.cs
- CodeDelegateCreateExpression.cs
- ZipIOExtraFieldPaddingElement.cs
- FormsAuthenticationUser.cs
- TransformPatternIdentifiers.cs
- FilteredDataSetHelper.cs
- SrgsElement.cs
- FilterQuery.cs
- GregorianCalendarHelper.cs
- GenericEnumerator.cs
- NameSpaceExtractor.cs
- RSAPKCS1SignatureDeformatter.cs
- OdbcParameterCollection.cs
- XmlAtomicValue.cs
- Configuration.cs
- GradientBrush.cs
- Stackframe.cs
- SessionStateSection.cs
- AnyAllSearchOperator.cs
- ContractInstanceProvider.cs
- Freezable.cs
- StackSpiller.cs
- BamlTreeNode.cs
- ItemsPanelTemplate.cs
- NetworkInterface.cs
- HashCodeCombiner.cs
- DbModificationCommandTree.cs
- DataControlLinkButton.cs
- StringArrayConverter.cs
- DataGridViewCellConverter.cs
- TreeViewItem.cs
- TailCallAnalyzer.cs
- QueryResultOp.cs
- SelectedPathEditor.cs
- webeventbuffer.cs
- XDeferredAxisSource.cs
- WindowsRebar.cs
- MenuItemCollectionEditor.cs
- ConsumerConnectionPoint.cs
- ObjectDataSourceFilteringEventArgs.cs
- CacheAxisQuery.cs
- Util.cs
- ResXResourceWriter.cs
- MTConfigUtil.cs
- HttpListenerResponse.cs
- TreeViewItemAutomationPeer.cs
- MemberHolder.cs
- SqlConnectionStringBuilder.cs
- AnnotationResourceChangedEventArgs.cs
- BuildProvidersCompiler.cs
- StyleSelector.cs
- CanonicalFontFamilyReference.cs
- EntityDataSourceWrapperCollection.cs
- TerminateSequenceResponse.cs
- SqlClientWrapperSmiStream.cs
- OdbcRowUpdatingEvent.cs
- CheckoutException.cs
- IntSecurity.cs
- LockCookie.cs
- WebHeaderCollection.cs
- SerialStream.cs
- FacetDescription.cs
- ReaderOutput.cs
- XmlCharacterData.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- TraceSection.cs
- DynamicPropertyReader.cs
- SpecularMaterial.cs
- CachingHintValidation.cs
- AttributeData.cs
- Base64Decoder.cs
- CreateUserWizardStep.cs
- HwndSourceKeyboardInputSite.cs
- EntityDataSourceViewSchema.cs
- EntityConnection.cs
- QuadraticBezierSegment.cs
- OleDbConnectionFactory.cs
- ReadOnlyObservableCollection.cs
- DataGridViewDataConnection.cs
- HtmlObjectListAdapter.cs
- ViewGenerator.cs
- MobileComponentEditorPage.cs
- ReferentialConstraint.cs
- ChannelListenerBase.cs
- KeyPullup.cs
- ControlPaint.cs
- ColorMatrix.cs
- FileRecordSequenceHelper.cs
- HtmlInputSubmit.cs
- XmlSignificantWhitespace.cs
- TypeGeneratedEventArgs.cs
- XPathAxisIterator.cs
- NativeMethods.cs
- BooleanFunctions.cs
- SpeechSynthesizer.cs
- RecognizerStateChangedEventArgs.cs
- UIElementIsland.cs
- FillBehavior.cs