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
- MediaEntryAttribute.cs
- ExpressionBuilder.cs
- MessageQueueAccessControlEntry.cs
- WebPartAddingEventArgs.cs
- RuntimeResourceSet.cs
- CompareValidator.cs
- WinFormsSpinner.cs
- OrderByBuilder.cs
- XmlSortKeyAccumulator.cs
- DrawTreeNodeEventArgs.cs
- Timer.cs
- SerializableAuthorizationContext.cs
- EntityCommand.cs
- XmlElementCollection.cs
- CaretElement.cs
- Pointer.cs
- DesignerAutoFormat.cs
- WindowsToolbarItemAsMenuItem.cs
- SqlProcedureAttribute.cs
- BooleanExpr.cs
- SchemaObjectWriter.cs
- ScriptControl.cs
- DesignSurfaceCollection.cs
- MethodExpr.cs
- DataGridLengthConverter.cs
- InternalEnumValidator.cs
- RelationshipConstraintValidator.cs
- FixedSOMTableCell.cs
- State.cs
- HandledEventArgs.cs
- ClientEventManager.cs
- NotificationContext.cs
- hresults.cs
- DataGridTextBoxColumn.cs
- ClassHandlersStore.cs
- KeyNotFoundException.cs
- ProfileBuildProvider.cs
- OpenTypeMethods.cs
- TimeSpan.cs
- StylusSystemGestureEventArgs.cs
- BackgroundFormatInfo.cs
- SafeArrayTypeMismatchException.cs
- MediaElement.cs
- CodeDirectionExpression.cs
- CollectionDataContract.cs
- MsmqOutputChannel.cs
- CodeCastExpression.cs
- XLinq.cs
- ADMembershipUser.cs
- Operand.cs
- webeventbuffer.cs
- FontDialog.cs
- BitmapEncoder.cs
- ActivityExecutionFilter.cs
- ProfileSection.cs
- FastEncoderWindow.cs
- printdlgexmarshaler.cs
- RegisterResponseInfo.cs
- DataGridViewRowHeaderCell.cs
- ModuleBuilderData.cs
- Rotation3DAnimationUsingKeyFrames.cs
- SurrogateChar.cs
- DataQuery.cs
- TabItemWrapperAutomationPeer.cs
- ActiveXSite.cs
- TraceContextRecord.cs
- ExceptionUtility.cs
- SafeProcessHandle.cs
- DesignTimeTemplateParser.cs
- Light.cs
- TemplatedMailWebEventProvider.cs
- TextEncodedRawTextWriter.cs
- DynamicValidatorEventArgs.cs
- LabelEditEvent.cs
- ConfigurationElementCollection.cs
- MenuItemStyleCollection.cs
- PictureBox.cs
- Html32TextWriter.cs
- WebWorkflowRole.cs
- FontFamilyConverter.cs
- CopyEncoder.cs
- HeaderUtility.cs
- XAMLParseException.cs
- DockEditor.cs
- InputLanguage.cs
- HtmlInputImage.cs
- Message.cs
- ObjectListSelectEventArgs.cs
- storepermissionattribute.cs
- Expressions.cs
- FrameworkElement.cs
- SubMenuStyleCollectionEditor.cs
- HWStack.cs
- ComplexObject.cs
- WebPartAddingEventArgs.cs
- FamilyMap.cs
- DataObjectCopyingEventArgs.cs
- TextSelection.cs
- FixUp.cs
- DesignerInterfaces.cs