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
- BackgroundFormatInfo.cs
- ExpressionBindingsDialog.cs
- ParserContext.cs
- DiscoveryMessageProperty.cs
- BitVector32.cs
- PropertyBuilder.cs
- ToolStripButton.cs
- DataSourceNameHandler.cs
- SettingsProperty.cs
- BamlTreeUpdater.cs
- UIElement3D.cs
- QuaternionAnimation.cs
- FunctionCommandText.cs
- SqlRetyper.cs
- HuffModule.cs
- EntityDataSourceView.cs
- SafeHandles.cs
- UIElement.cs
- CompiledXpathExpr.cs
- SafeBitVector32.cs
- TimeZone.cs
- FileReservationCollection.cs
- Control.cs
- WebReferenceOptions.cs
- FocusChangedEventArgs.cs
- TryLoadRunnableWorkflowCommand.cs
- ApplyTemplatesAction.cs
- ManipulationVelocities.cs
- XmlTextReaderImpl.cs
- AccessDataSourceView.cs
- Point3DKeyFrameCollection.cs
- PreviewKeyDownEventArgs.cs
- TimeIntervalCollection.cs
- AsymmetricSignatureFormatter.cs
- TextProviderWrapper.cs
- IUnknownConstantAttribute.cs
- ToolStripGrip.cs
- Matrix3DValueSerializer.cs
- Input.cs
- AnnotationComponentManager.cs
- WSHttpTransportSecurityElement.cs
- MailHeaderInfo.cs
- TextRunCacheImp.cs
- BuildDependencySet.cs
- RandomNumberGenerator.cs
- CodeNamespaceImport.cs
- PasswordDeriveBytes.cs
- ButtonRenderer.cs
- FeatureAttribute.cs
- WmfPlaceableFileHeader.cs
- FormViewDeleteEventArgs.cs
- HttpConfigurationContext.cs
- HtmlTableCellCollection.cs
- TypeGeneratedEventArgs.cs
- CompressionTransform.cs
- ParameterDataSourceExpression.cs
- DoubleAnimationUsingKeyFrames.cs
- GridViewHeaderRowPresenter.cs
- XmlStreamNodeWriter.cs
- SafeNativeMethods.cs
- DataGridViewColumnHeaderCell.cs
- SqlRowUpdatedEvent.cs
- Utilities.cs
- XmlImplementation.cs
- ConfigurationSection.cs
- CodeTypeDeclarationCollection.cs
- __Filters.cs
- SecurityContextKeyIdentifierClause.cs
- TransactionException.cs
- Int64Storage.cs
- RightsManagementResourceHelper.cs
- InternalControlCollection.cs
- SqlSelectStatement.cs
- XmlSchemaObjectCollection.cs
- PathHelper.cs
- HtmlInputPassword.cs
- ExpressionList.cs
- AccessDataSourceView.cs
- UnknownBitmapEncoder.cs
- UIElement.cs
- CheckPair.cs
- TraceContextEventArgs.cs
- XmlAttributes.cs
- MembershipSection.cs
- WebPartCloseVerb.cs
- AnnotationAuthorChangedEventArgs.cs
- EdmEntityTypeAttribute.cs
- PageThemeParser.cs
- FieldAccessException.cs
- ChannelDispatcherCollection.cs
- MruCache.cs
- TileModeValidation.cs
- IDReferencePropertyAttribute.cs
- Mapping.cs
- Triplet.cs
- DES.cs
- SiteMapProvider.cs
- ToolBarOverflowPanel.cs
- AspNetSynchronizationContext.cs
- Ray3DHitTestResult.cs