UserNamePasswordValidator Class
Validates a username and password.
Assembly: System.IdentityModel (in System.IdentityModel.dll)
Use the UserNamePasswordValidator class to specify how a username and password is validated. This can be done by deriving a class from UserNamePasswordValidator and override the Validate method. For more information about creating a custom user name and password validator, see How to: Use a Custom User Name and Password Validator.
public class MyCustomUserNameValidator : UserNamePasswordValidator { // This method validates users. It allows two users, test1 and test2 // with passwords 1tset and 2tset respectively. // This code is for illustration purposes only and // MUST NOT be used in a production environment because it is NOT secure. public override void Validate(string userName, string password) { if (null == userName || null == password) { throw new ArgumentNullException(); } if (!(userName == "test1" && password == "1tset") && !(userName == "test2" && password == "2tset")) { throw new SecurityTokenException("Unknown Username or Password"); } } }
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
using a custom validator with net.tcp binding
I've tried this with net.tcp binding, but it still seems to be using windows authentication. The custom validator is never called and
OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name
is the windows id of the caller rather than the username set with
ChannelFactory.Credentials.UserName.UserName
Is another step needed in the binding?
- 2/14/2008
- philodendrite