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 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.
//------------------------------------------------------------
// 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
- DataGridViewCellFormattingEventArgs.cs
- DataGridViewColumnDesigner.cs
- CustomTokenProvider.cs
- PenLineCapValidation.cs
- CustomGrammar.cs
- SecurityRuntime.cs
- DrawingDrawingContext.cs
- WinEventHandler.cs
- ConfigurationCollectionAttribute.cs
- ObjectView.cs
- OpenCollectionAsyncResult.cs
- ClientApiGenerator.cs
- CqlQuery.cs
- LinqTreeNodeEvaluator.cs
- LinqDataSourceUpdateEventArgs.cs
- BindingNavigator.cs
- XsltLibrary.cs
- ACL.cs
- SingleSelectRootGridEntry.cs
- TextServicesCompartment.cs
- DrawListViewSubItemEventArgs.cs
- CounterCreationData.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- SecurityManager.cs
- TextProviderWrapper.cs
- PropertyMetadata.cs
- CharUnicodeInfo.cs
- XmlRawWriter.cs
- Utils.cs
- PerformanceCounterLib.cs
- VariantWrapper.cs
- UseManagedPresentationElement.cs
- Point3DValueSerializer.cs
- WorkerRequest.cs
- EasingKeyFrames.cs
- StringValidatorAttribute.cs
- AuthenticateEventArgs.cs
- HttpWriter.cs
- OverrideMode.cs
- Keywords.cs
- MatrixAnimationBase.cs
- DataExpression.cs
- SqlMethods.cs
- PropertyChangedEventManager.cs
- AdvancedBindingPropertyDescriptor.cs
- CommandManager.cs
- RemotingServices.cs
- WebBrowserProgressChangedEventHandler.cs
- ComponentCollection.cs
- MetadataHelper.cs
- ObjectQueryState.cs
- Point4DValueSerializer.cs
- dataprotectionpermission.cs
- DbFunctionCommandTree.cs
- TextSegment.cs
- XmlDataSource.cs
- CriticalHandle.cs
- AllMembershipCondition.cs
- DrawingVisualDrawingContext.cs
- OdbcParameterCollection.cs
- Annotation.cs
- DynamicDocumentPaginator.cs
- ParameterCollection.cs
- MobileUserControl.cs
- UInt64.cs
- DataGridPageChangedEventArgs.cs
- Figure.cs
- FusionWrap.cs
- HWStack.cs
- ImpersonateTokenRef.cs
- ToolStripContainer.cs
- AttachedPropertyBrowsableAttribute.cs
- HandlerBase.cs
- HttpContextWrapper.cs
- WebPartDescriptionCollection.cs
- Classification.cs
- DiscreteKeyFrames.cs
- ExceptionHelpers.cs
- RelatedEnd.cs
- BufferBuilder.cs
- ChangeDirector.cs
- SqlEnums.cs
- DeleteHelper.cs
- ServiceBusyException.cs
- GridViewSortEventArgs.cs
- SecurityTimestamp.cs
- ClientUrlResolverWrapper.cs
- ExpanderAutomationPeer.cs
- RoutedPropertyChangedEventArgs.cs
- Filter.cs
- ClientScriptManagerWrapper.cs
- XamlSerializerUtil.cs
- Odbc32.cs
- WsiProfilesElementCollection.cs
- WsdlWriter.cs
- PropertyEmitter.cs
- AncestorChangedEventArgs.cs
- PasswordRecovery.cs
- CodeAttributeDeclaration.cs
- ping.cs