public void GetUserNameReturnsName()
 {
     LoginRequest credentials = new LoginRequest(userName);
     ActiveDirectoryAuthentication authentication = new ActiveDirectoryAuthentication();
     string result = authentication.GetUserName(credentials);
     Assert.AreEqual(userName, result);
 }
Exemplo n.º 2
0
 public void AddCredentialAddsToUnderlyingList()
 {
     LoginRequest request = new LoginRequest();
     request.AddCredential(LoginRequest.PasswordCredential, "whoami");
     string actual = NameValuePair.FindNamedValue(request.Credentials, LoginRequest.PasswordCredential);
     Assert.AreEqual("whoami", actual);
 }
 public void TestMissingUserName()
 {
     UserNameAuthentication authentication = new UserNameAuthentication("janedoe");
     LoginRequest credentials = new LoginRequest();
     bool isValid = authentication.Authenticate(credentials);
     Assert.IsFalse(isValid);
 }
 public LoginRequest GenerateCredentials()
 {
     string[] settings = SplitSettings();
     LoginRequest credentials = new LoginRequest(settings[0]);
     credentials.AddCredential(LoginRequest.PasswordCredential, settings[1]);
     return credentials;
 }
 public IResponse Execute(ICruiseRequest cruiseRequest)
 {
     Hashtable velocityContext = new Hashtable();
     string userName = cruiseRequest.Request.GetText("userName");
     string template = @"UserNameLogin.vm";
     if (!string.IsNullOrEmpty(userName))
     {
         try
         {
             LoginRequest credentials = new LoginRequest(userName);
             string password = cruiseRequest.Request.GetText("password");
             if (!string.IsNullOrEmpty(password)) credentials.AddCredential(LoginRequest.PasswordCredential, password);
             string sessionToken = farmService.Login(cruiseRequest.ServerName, credentials);
             if (string.IsNullOrEmpty(sessionToken)) throw new CruiseControlException("Login failed!");
             storer.StoreSessionToken(sessionToken);
             template = "LoggedIn.vm";
         }
         catch (Exception error)
         {
             velocityContext["errorMessage"] = error.Message;
         }
     }
     velocityContext["hidePassword"] = hidePassword;
     return viewGenerator.GenerateView(template, velocityContext);
 }
 public void TestValidUserName()
 {
     UserNameAuthentication authentication = new UserNameAuthentication("johndoe");
     LoginRequest credentials = new LoginRequest("johndoe");
     bool isValid = authentication.Authenticate(credentials);
     Assert.IsTrue(isValid);
 }
 public void TestMissingUserName()
 {
     UserPasswordAuthentication authentication = new UserPasswordAuthentication("johndoe", "iknowyou");
     LoginRequest credentials = new LoginRequest();
     bool isValid = authentication.Authenticate(credentials);
     Assert.IsFalse(isValid);
 }
 public void TestIncorrectUserName()
 {
     UserPasswordAuthentication authentication = new UserPasswordAuthentication("johndoe", "iknowyou");
     LoginRequest credentials = new LoginRequest("janedoe");
     credentials.AddCredential(LoginRequest.PasswordCredential, "iknowyou");
     bool isValid = authentication.Authenticate(credentials);
     Assert.IsFalse(isValid);
 }
 public void LoginReturnsUserName()
 {
     LoginRequest credentials = new LoginRequest("johndoe");
     NullSecurityManager manager = new NullSecurityManager();
     manager.Initialise();
     string sessionToken = manager.Login(credentials);
     Assert.AreEqual(NameValuePair.FindNamedValue(credentials.Credentials, LoginRequest.UserNameCredential), sessionToken);
 }
 public void GetDisplayNameReturnsUserName()
 {
     string userName = "******";
     LoginRequest credentials = new LoginRequest(userName);
     UserNameAuthentication authentication = new UserNameAuthentication();
     string result = authentication.GetDisplayName(credentials);
     Assert.AreEqual(userName, result);
 }
 public void TestMissingUserName()
 {
     //todo pass in a stub/mock ldap service so we can test
     ActiveDirectoryAuthentication authentication = new ActiveDirectoryAuthentication("janedoe",null);
     LoginRequest credentials = new LoginRequest();
     bool isValid = authentication.Authenticate(credentials);
     Assert.IsFalse(isValid);
 }
 public void TestValidUserName()
 {
     //todo pass in a stub/mock ldap service so we can test
     ActiveDirectoryAuthentication authentication = new ActiveDirectoryAuthentication(userName, null);
     authentication.DomainName = domainName;
     LoginRequest credentials = new LoginRequest(userName);
     bool isValid = authentication.Authenticate(credentials);
     Assert.IsTrue(isValid);
 }
Exemplo n.º 13
0
 public void InitialiseRequestWithAUsernameSetsCorrectCredential()
 {
     LoginRequest request = new LoginRequest("johndoe");
     string actual = NameValuePair.FindNamedValue(request.Credentials, LoginRequest.UserNameCredential);
     Assert.AreEqual("johndoe", actual);
     var credentials = new List<NameValuePair>();
     request.Credentials = credentials;
     Assert.AreSame(credentials, request.Credentials);
 }
 public void GetDisplayNameReturnsDisplayName()
 {
     string displayName = "John Doe";
     LoginRequest credentials = new LoginRequest(userName);
     ActiveDirectoryAuthentication authentication = new ActiveDirectoryAuthentication();
     authentication.DomainName = domainName;
     string result = authentication.GetDisplayName(credentials);
     Assert.AreEqual(displayName, result);
 }
Exemplo n.º 15
0
 public void FindCredentialHandlesMissingCredential()
 {
     var request = new LoginRequest();
     request.Credentials = new List<NameValuePair>
     {
         new NameValuePair("name", "me")
     };
     var credential = request.FindCredential("password");
     Assert.IsNull(credential);
 }
Exemplo n.º 16
0
 public void ToStringSerialisesDefaultValues()
 {
     LoginRequest request = new LoginRequest();
     string actual = request.ToString();
     string expected = string.Format("<loginMessage xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
         "timestamp=\"{2:yyyy-MM-ddTHH:mm:ss.FFFFFFFzzz}\" identifier=\"{0}\" source=\"{1}\" />",
         request.Identifier,
         request.SourceName,
         request.Timestamp);
     Assert.AreEqual(expected, actual);
 }
        public void InvalidLoginReturnsNull()
        {
            LoginRequest credentials = new LoginRequest("johndoe");
            Expect.Call(authenticationMock.Authenticate(credentials)).Return(false);
            Expect.Call(authenticationMock.GetUserName(credentials)).Return("johndoe");

            mocks.ReplayAll();
            manager.Initialise();

            string sessionToken = manager.Login(credentials);
            Assert.IsNull(sessionToken);
        }
Exemplo n.º 18
0
 public void FindCredentialFindsExistingCredential()
 {
     var request = new LoginRequest();
     var password = "******";
     request.Credentials = new List<NameValuePair>
     {
         new NameValuePair("name", "me"),
         new NameValuePair("password", password)
     };
     var credential = request.FindCredential("password");
     Assert.IsNotNull(credential);
     Assert.AreEqual(password, credential.Value);
 }
        public void ValidLoginReturnsSessionToken()
        {
            LoginRequest credentials = new LoginRequest("johndoe");
            Expect.Call(authenticationMock.Authenticate(credentials)).Return(true);
            Expect.Call(authenticationMock.GetUserName(credentials)).Return("johndoe");
            Expect.Call(authenticationMock.GetDisplayName(credentials)).Return("johndoe");
            Expect.Call(sessionMock.AddToCache("johndoe")).Return(testSessionToken);
            Expect.Call(delegate { sessionMock.StoreSessionValue(string.Empty, string.Empty, string.Empty); })
                .IgnoreArguments();

            mocks.ReplayAll();
            manager.Initialise();

            string sessionToken = manager.Login(credentials);
            Assert.AreEqual(testSessionToken, sessionToken);
        }
Exemplo n.º 20
0
 public void ToStringSerialisesAllValues()
 {
     LoginRequest request = new LoginRequest();
     request.Identifier = "identifier";
     request.ServerName = "serverName";
     request.SessionToken = "sessionToken";
     request.SourceName = "sourceName";
     request.Timestamp = DateTime.Now;
     request.AddCredential(LoginRequest.UserNameCredential, "johnDoe");
     string actual = request.ToString();
     string expected = string.Format("<loginMessage xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
         "timestamp=\"{4:yyyy-MM-ddTHH:mm:ss.FFFFFFFzzz}\" identifier=\"{0}\" server=\"{1}\" source=\"{2}\" session=\"{3}\">" +
         "<credential name=\"userName\" value=\"johnDoe\" />" +
         "</loginMessage>",
         request.Identifier,
         request.ServerName,
         request.SourceName,
         request.SessionToken,
         request.Timestamp);
     Assert.AreEqual(expected, actual);
 }
        public void ValidWildCardLoginReturnsSessionToken()
        {
            IAuthentication wildcardMock = mocks.DynamicMock<IAuthentication>();
            SetupResult.For(wildcardMock.Identifier).Return("*doe");
            manager.Users = new IAuthentication[]{
                wildcardMock
            };

            LoginRequest credentials = new LoginRequest("johndoe");
            Expect.Call(wildcardMock.Authenticate(credentials)).Return(true);
            Expect.Call(wildcardMock.GetUserName(credentials)).Return("johndoe");
            Expect.Call(wildcardMock.GetDisplayName(credentials)).Return("johndoe");
            Expect.Call(sessionMock.AddToCache("johndoe")).Return(testSessionToken);
            Expect.Call(delegate { sessionMock.StoreSessionValue(string.Empty, string.Empty, string.Empty); })
                .IgnoreArguments();

            mocks.ReplayAll();
            manager.Initialise();

            string sessionToken = manager.Login(credentials);
            Assert.AreEqual(testSessionToken, sessionToken);
        }
        public void UnknownLoginReturnsNull()
        {
            LoginRequest credentials = new LoginRequest("janedoe");

            mocks.ReplayAll();
            manager.Initialise();

            string sessionToken = manager.Login(credentials);
            Assert.IsNull(sessionToken);
        }
Exemplo n.º 23
0
        /// <summary>
        /// Logs a user into the session and generates a session.
        /// </summary>
        /// <returns>True if the request is successful, false otherwise.</returns>
        public override bool Login(List<NameValuePair> Credentials)
        {
            SessionToken = null;

            // Generate the response and send it
            LoginRequest request = new LoginRequest();
            request.Credentials.AddRange(Credentials);
            request.ServerName = TargetServer;
            LoginResponse resp = ValidateResponse(
                connection.SendMessage("Login", request))
                as LoginResponse;
            ValidateResponse(resp);

            // Check the results
            if (!string.IsNullOrEmpty(resp.SessionToken))
            {
                SessionToken = resp.SessionToken;
                return true;
            }
            else
            {
                return false;
            }
        }
 public LoginRequest GenerateCredentials()
 {
     LoginRequest credentials = new LoginRequest(Environment.UserName);
     credentials.AddCredential(LoginRequest.DomainCredential, Environment.UserDomainName);
     return credentials;
 }
        public string Login(string server, LoginRequest credentials)
		{
            var manager = GetCruiseManager(GetServerConfiguration(server), null);
            manager.Login(credentials.Credentials);
            return manager.SessionToken;
		}
Exemplo n.º 26
0
        /// <summary>
        /// Initialise a secure communications connection.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public Response InitialiseSecureConnection(LoginRequest request)
        {
            // Decrypt the password
            var cp = new CspParameters();
            cp.KeyContainerName = "CruiseControl.NET Server";
            var provider = new RSACryptoServiceProvider(cp);
            var originalKey = request.FindCredential(LoginRequest.UserNameCredential).Value;
            var decryptedKey = UTF8Encoding.UTF8.GetString(
                provider.Decrypt(Convert.FromBase64String(originalKey), false));
            var originalIv = request.FindCredential(LoginRequest.PasswordCredential).Value;
            var decryptedIv = UTF8Encoding.UTF8.GetString(
                provider.Decrypt(Convert.FromBase64String(originalIv), false));

            // Generate the connection details
            var connection = new SecureConnection
            {
                Expiry = DateTime.Now.AddMinutes(15),
                IV = Convert.FromBase64String(decryptedIv),
                Key = Convert.FromBase64String(decryptedKey)
            };
            connections[request.SourceName] = connection;

            // Generate a response
            var response = new Response(request);
            response.Result = ResponseResult.Success;
            return response;
        }
Exemplo n.º 27
0
 /// <summary>
 /// Logs a user into the session and generates a session.
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public LoginResponse Login(LoginRequest request)
 {
     return cruiseServer.Login(request);
 }
Exemplo n.º 28
0
 /// <summary>
 /// Logs a user into the session and generates a session.
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public virtual LoginResponse Login(LoginRequest request)
 {
     string sessionToken = null;
     LoginResponse response = new LoginResponse(RunServerRequest(request,
         null,
         null,
         delegate
         {
             sessionToken = securityManager.Login(request);
         }));
     response.SessionToken = sessionToken;
     return response;
 }
 /// <summary>
 /// Retrieves the display name from the credentials.
 /// </summary>
 /// <param name="credentials">The credentials.</param>
 /// <returns>The name of the user from the credentials. If the credentials do not exist in the system
 /// then null will be returned.</returns>
 public string GetDisplayName(LoginRequest credentials)
 {
     string nameToReturn = displayName;
     if (string.IsNullOrEmpty(displayName)) nameToReturn = GetUserName(credentials);
     return nameToReturn;
 }
 /// <summary>
 /// Retrieves the user name from the credentials.
 /// </summary>
 /// <param name="credentials">The credentials.</param>
 /// <returns>The name of the user from the credentials. If the credentials not not exist in the system
 /// then null will be returned.</returns>
 public string GetUserName(LoginRequest credentials)
 {
     string userName = NameValuePair.FindNamedValue(credentials.Credentials,
         LoginRequest.UserNameCredential);
     return userName;
 }