using System.Web;
using Telerik.Sitefinity.Configuration;
using Telerik.Sitefinity.Security;
using Telerik.Sitefinity.Security.Claims;
using Telerik.Sitefinity.Security.Configuration;
using Telerik.Sitefinity.Services;
using Telerik.Sitefinity.Security.Model;

namespace Telerik.Sitefinity.Documentation.CodeSnippets.DeepDive.Security.Users
{
    public partial class ManagingUsersSnippets
    {
        public static void AuthenticateUser(string username, string password, string provider, bool isPersistent, string successRedirectUrl, string errorRedirectUrl)
        {
            {
                User user;
                UserLoggingReason result = SecurityManager.AuthenticateUser(
                    provider,
                    username,
                    password,
                    isPersistent,
                    out user);

                if (result != UserLoggingReason.Success)
                {
                    SystemManager.CurrentHttpContext.Response.Redirect(errorRedirectUrl, false);
                }
                else
                {
                    SystemManager.CurrentHttpContext.Response.Redirect(successRedirectUrl, false);
                }
            }
        }
    }
}