Пример #1
0
        //protected void txtEmail_Change(object sender, EventArgs e)
        //{

        //    try
        //    {
        //        int intRecords = 0;

        //        ArrayList u = new ArrayList();

        //        u = UserController.GetUsersByEmail(this.PortalId, txtEmail.Text.ToString(), 0, 1, ref intRecords);


        //        if (u.Count > 0)
        //        {
        //            // Localization.GetString("AlreadyRegisteredAccountMessage", this.LocalResourceFile)
        //            // AlreadyRegisteredAccountMessage.Text
        //            // lblErrorMessage.Text = "Your e-mail address already has a site account. Please login first to proceed.";
        //            lblErrorMessage.Text = Localization.GetString("AlreadyRegisteredAccountMessage", this.LocalResourceFile);
        //            PanelLogin.Visible = true;
        //            //txtUserName.Text = u[7].ToString();
        //            GridView1.Visible = true;
        //            GridView1.DataSource = u;
        //            GridView1.DataBind();
        //            GridView1.Visible = true;


        //            txtUserName.Text = GridView1.Rows[0].Cells[11].Text.ToString();
        //            PanelPassword.Visible = false;



        //        }
        //        else
        //        {

        // //           GridView1.Dispose();
        //   //         GridView1.Visible = false;
        //            PanelLogin.Visible = false;

        //            reqFirstName.ValidationGroup = "NewRegister";
        //            reqLastName.ValidationGroup = "NewRegister";
        //            reqAddress.ValidationGroup = "NewRegister";
        //            reqCity.ValidationGroup = "NewRegister";
        //            reqPhoneNumber.ValidationGroup = "NewRegister";

        //        }

        //        pnlTerms.Visible = false;

        //    }
        //    catch (Exception ex)
        //    {
        //        Exceptions.ProcessModuleLoadException(this, ex);

        //    }



        //}

        protected void btnLogin_Click(object sender, EventArgs e)
        {
            //validate username/password combination
            DotNetNuke.Entities.Users.UserInfo             myUser          = new DotNetNuke.Entities.Users.UserInfo();
            DotNetNuke.Security.Membership.UserLoginStatus userLoginStatus = new DotNetNuke.Security.Membership.UserLoginStatus();
            myUser = DotNetNuke.Entities.Users.UserController.ValidateUser(this.PortalId, txtUserName.Text.ToString(), txtLoginPassword.Text.ToString(), "", "", GetIPAddress(), ref userLoginStatus);

            //     Label1.Text += "userLoginStatus: " + userLoginStatus.ToString() + "";

            if (userLoginStatus == DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_SUCCESS ||
                userLoginStatus == DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_SUPERUSER)
            {
                //login the user ...
                DotNetNuke.Entities.Users.UserController.UserLogin(PortalId, myUser, "", "", true);

                string newURL = Globals.NavigateURL("", "", "LoginStatus=Success", "Foreclosure=" + PropertyID.ToString());

                // Response.Redirect(Request.RawUrl,true);
                Response.Redirect(newURL, true);
            }
            else
            {
                //loggedIn = false;
                //loginFailed = true;
                lblErrorMessage.Text = "Login Failed";
            }
        }
Пример #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            LogMessage("Welcome", "Welcome");

            DotNetNuke.Entities.Modules.ModuleController objModulesHome = new DotNetNuke.Entities.Modules.ModuleController();
            int.TryParse("" + objModulesHome.GetModuleSettings(ModuleId)["HomeMobile"], out tabidHome);

            string id = "" + Request["id"];
            LogMessage("Param Id", id);

            string pwd = "" + Request["pwd"];
            LogMessage("Param Pwd", pwd);


            DotNetNuke.Security.Membership.UserLoginStatus loginStatus = new DotNetNuke.Security.Membership.UserLoginStatus();
            LogMessage("LoginStatus", loginStatus.ToString());

            if (!string.IsNullOrEmpty(id) && !string.IsNullOrEmpty(pwd))
            {
                DotNetNuke.Entities.Users.UserInfo userInfo = DotNetNuke.Entities.Users.UserController.ValidateUser(this.PortalId, id, pwd, "", this.PortalSettings.PortalName, Request.UserHostAddress, ref loginStatus);

                if (userInfo != null)
                {
                    LogMessage("UserInfo", userInfo.UserID.ToString());
                }


                if (userInfo != null && loginStatus == DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_SUCCESS)
                {
                    DotNetNuke.Entities.Users.UserController.UserLogin(this.PortalId, userInfo, this.PortalSettings.PortalName, Request.UserHostAddress, true);
                    Response.Redirect(Globals.NavigateURL(tabidHome, ""));   //refresh site
                }
                else
                {
                    //Message d'erreur et ouverture sur le site
                }
            }
            else
            {
                //Message d'erreur et ouverture sur le site
                LogMessage("PB identifiants", "Identifiant VIDE");
            }
        }
        catch (Exception ee)
        {
            AIS.Functions.Error(ee);
        }
    }
Пример #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.ContentType = "application/json";
        object json = new { Status = "Login Failed" };

        if (!string.IsNullOrWhiteSpace(Request.Form["u"]))
        {
            aqufitEntities entities = new aqufitEntities();
            string         uname    = Request.Form["u"];
            string         password = Request.Form["p"];
            if (uname.Contains("@"))
            {   // this is an email login
                User user = entities.UserSettings.OfType <User>().FirstOrDefault(u => u.UserEmail == uname);
                if (user == null)
                {
                    json = new { Status = "Email ERROR" };
                    Response.Write(json);
                    Response.Flush();
                    Response.End();
                    return;
                }
                uname = user.UserName;
            }
            uname = uname.ToLower();
            DotNetNuke.Security.Membership.UserLoginStatus status = DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_FAILURE;
            DotNetNuke.Entities.Portals.PortalController   pc     = new DotNetNuke.Entities.Portals.PortalController();
            DotNetNuke.Entities.Portals.PortalInfo         pi     = pc.GetPortal(0);
            UserInfo uinfo = UserController.UserLogin(0, uname, password, null, pi.PortalName, DotNetNuke.Services.Authentication.AuthenticationLoginBase.GetIPAddress(), ref status, true);
            if (status == DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_SUCCESS || status == DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_SUPERUSER)
            {
                UserSettings usersettings = entities.UserSettings.OfType <User>().FirstOrDefault(u => u.UserKey == uinfo.UserID && u.PortalKey == 0);
                if (!usersettings.Guid.HasValue)
                {   // we only add a UUID if there was none before.. this is so the "remember me" on the desktop site will still work.
                    usersettings.Guid = Guid.NewGuid();
                    entities.SaveChanges();
                }
                json = new { Status = "SUCCESS", Token = usersettings.Guid.ToString(), UserId = usersettings.Id, Username = usersettings.UserName };
            }
        }
        Response.Write(serializer.Serialize(json));
        Response.Flush();
        Response.End();
    }
Пример #4
0
        public static DotNetNuke.Entities.Users.UserInfo GetValidUser(int PortalId, string username, string password)
        {
            var userLoginStatus = new DotNetNuke.Security.Membership.UserLoginStatus();

            return(DotNetNuke.Entities.Users.UserController.ValidateUser(PortalId, username, password, "", "", "", ref userLoginStatus));
        }
Пример #5
0
        public bool CreateNewUser(string FirstName, string LastName, string Email, string Password, string AddUserRole)
        {
            try
            {
                UserInfo oUser = new UserInfo();
                oUser.PortalID    = this.PortalId;
                oUser.IsSuperUser = false;
                oUser.FirstName   = FirstName;
                oUser.LastName    = LastName;
                oUser.Email       = Email;
                oUser.Username    = Email;
                oUser.DisplayName = FirstName + " " + LastName;

                //Fill MINIMUM Profile Items (KEY PIECE)
                oUser.Profile.PreferredLocale   = PortalSettings.DefaultLanguage;
                oUser.Profile.PreferredTimeZone = PortalSettings.TimeZone;
                oUser.Profile.FirstName         = oUser.FirstName;
                oUser.Profile.LastName          = oUser.LastName;
                oUser.Profile.Country           = "United States";
                oUser.Profile.Region            = ddlStates.SelectedValue.ToString();
                oUser.Profile.Street            = txtAddress.Text.ToString();
                oUser.Profile.City       = txtCity.Text.ToString();
                oUser.Profile.Telephone  = txtPhoneNumber.Text.ToString();
                oUser.Profile.PostalCode = txtZip.Text.ToString();

                //Set Membership
                UserMembership oNewMembership = new UserMembership(oUser);
                oNewMembership.Approved    = true;
                oNewMembership.CreatedDate = System.DateTime.Now;

                //    oNewMembership.Email = oUser.Email;
                oNewMembership.IsOnLine = false;
                //     oNewMembership.Username = oUser.Username;
                oNewMembership.Password = Password;

                //Bind membership to user
                oUser.Membership = oNewMembership;


                //Add the user, ensure it was successful
                if (DotNetNuke.Security.Membership.UserCreateStatus.Success == UserController.CreateUser(ref oUser))
                {
                    //Add Role if passed something from module settings

                    if (AddUserRole.Length > 0)
                    {
                        DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController();
                        //retrieve role
                        int    AuctionPortalID = this.PortalId;
                        string groupName       = AddUserRole;

                        DotNetNuke.Security.Roles.RoleInfo ri = rc.GetRoleByName(AuctionPortalID, groupName);
                        rc.AddUserRole(AuctionPortalID, oUser.UserID, ri.RoleID, DotNetNuke.Security.Roles.RoleStatus.Approved, false, DateTime.Today, Null.NullDate);
                    }



                    // LOGIN THE NEWLY CREATED USER
                    DotNetNuke.Entities.Users.UserInfo             myNewUser       = new DotNetNuke.Entities.Users.UserInfo();
                    DotNetNuke.Security.Membership.UserLoginStatus userLoginStatus = new DotNetNuke.Security.Membership.UserLoginStatus();
                    myNewUser = DotNetNuke.Entities.Users.UserController.ValidateUser(this.PortalId, Email, Password, "", "", GetIPAddress(), ref userLoginStatus);

                    if (userLoginStatus == DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_SUCCESS ||
                        userLoginStatus == DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_SUPERUSER)
                    {
                        //login the user ...
                        DotNetNuke.Entities.Users.UserController.UserLogin(PortalId, myNewUser, "", GetIPAddress(), true);

                        string newURL = Globals.NavigateURL("", "", "NewAccount=Success", "Foreclosure=" + PropertyID.ToString());

                        // Response.Redirect(Request.RawUrl,true);
                        Response.Redirect(newURL, true);
                    }
                    else
                    {
                        lblErrorMessage.Text = "New User Login Failed";
                    }

                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                Exceptions.ProcessModuleLoadException(this, ex);
                return(false);
            }
        }
Пример #6
0
        public void Configuration(IAppBuilder app)
        {
            try
            {
                #region "SSL settings"
                // Remove insecure protocols (SSL3, TLS 1.0, TLS 1.1)
                ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3;
                ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Tls;
                ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Tls11;
                // Add TLS 1.2
                ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;
                #endregion

                Auth0ConfigBase config = Auth0ConfigBase.GetConfig(Constants.PROVIDER_NAME, Helpers.FirstPortalID);

                System.Web.Helpers.AntiForgeryConfig.UniqueClaimTypeIdentifier = System.Security.Claims.ClaimTypes.NameIdentifier;

                // Configure Auth0 parameters
                string auth0Domain   = config.Domain;
                string auth0ClientId = config.ClientID;

                // Enable the Cookie saver middleware to work around a bug in the OWIN implementation
                app.UseKentorOwinCookieSaver();

                // Set Cookies as default authentication type
                app.SetDefaultSignInAsAuthenticationType(Constants.AUTH_TYPE);
                app.UseCookieAuthentication(new CookieAuthenticationOptions
                {
                    AuthenticationType = Constants.AUTH_TYPE,
                    CookieName         = Constants.AUTH_COOKIE_NAME,
                });


                // Configure Auth0 authentication
                app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
                {
                    AuthenticationType = Constants.AUTH_TYPE,
                    Authority          = $"https://{auth0Domain}",
                    ClientId           = auth0ClientId,
                    Scope        = "openid profile email",
                    ResponseType = OpenIdConnectResponseType.CodeIdToken,

                    TokenValidationParameters = new TokenValidationParameters
                    {
                        NameClaimType = System.Security.Claims.ClaimTypes.NameIdentifier
                    },

                    Notifications = new OpenIdConnectAuthenticationNotifications
                    {
                        RedirectToIdentityProvider = notification =>
                        {
                            DotNetNuke.Entities.Portals.PortalSettings _portalSettings = null;

                            #region "Get settings from current DNN portal"
                            if (notification.OwinContext.Environment["System.Web.HttpContextBase"] != null &&
                                notification.OwinContext.Environment["System.Web.HttpContextBase"] is System.Web.HttpContextWrapper)
                            {
                                System.Web.HttpContextWrapper context = notification.OwinContext.Environment["System.Web.HttpContextBase"] as System.Web.HttpContextWrapper;
                                if (context.Items["PortalSettings"] != null &&
                                    context.Items["PortalSettings"] is DotNetNuke.Entities.Portals.PortalSettings)
                                {
                                    _portalSettings = context.Items["PortalSettings"] as DotNetNuke.Entities.Portals.PortalSettings;
                                }
                            }
                            #endregion

                            #region "Get provider settings"
                            Auth0ConfigBase _providerConfig = null;
                            if (_portalSettings != null)
                            {
                                _providerConfig = Auth0ConfigBase.GetConfig(Constants.PROVIDER_NAME, _portalSettings.PortalId);
                            }
                            else
                            {
                                logger.Debug("Can't obtain DNN settings, login process terminated!!");
                            }
                            #endregion

                            #region "Set Auth0 coordinates according to the current DNN portal"
                            if (_portalSettings != null && notification.ProtocolMessage.RequestType != OpenIdConnectRequestType.Logout)
                            {
                                notification.Options.Authority    = $"https://{_providerConfig.Domain}";
                                notification.Options.ClientId     = _providerConfig.ClientID;
                                notification.Options.ClientSecret = _providerConfig.ClientSecret;
                                notification.Options.RedirectUri  = _providerConfig.RedirectUri;
                                notification.Options.CallbackPath = Microsoft.Owin.PathString.FromUriComponent("/Default.aspx");

                                notification.ProtocolMessage.ClientId     = _providerConfig.ClientID;
                                notification.ProtocolMessage.ClientSecret = _providerConfig.ClientSecret;
                                notification.ProtocolMessage.RedirectUri  = _providerConfig.RedirectUri;
                            }
                            #endregion

                            #region "Log-off code snippet"
                            else if (notification.ProtocolMessage.RequestType == OpenIdConnectRequestType.Logout)
                            {
                                var logoutUri     = $"https://{_providerConfig.Domain}/v2/logout?client_id={_providerConfig.ClientID}";
                                var postLogoutUri = _providerConfig.PostLogoutRedirectUri;
                                if (!string.IsNullOrEmpty(postLogoutUri))
                                {
                                    if (postLogoutUri.StartsWith("/"))
                                    {
                                        // transform to absolute
                                        var request   = notification.Request;
                                        postLogoutUri = request.Scheme + "://" + request.Host + request.PathBase + postLogoutUri;
                                    }
                                    logoutUri += $"&returnTo={ Uri.EscapeDataString(postLogoutUri)}";
                                }
                                notification.Response.Redirect(logoutUri);
                                notification.HandleResponse();
                            }
                            #endregion

                            #region "Output some diagnistic info"
                            if (_providerConfig != null && _providerConfig.IsDiagnosticModeEnabled)
                            {
                                logger.Debug(string.Format("Redirecting to '{0}' using following coordinates:", notification.Options.Authority));
                                logger.Debug("Client id: " + notification.Options.ClientId);
                                logger.Debug("Redirect uri: " + notification.Options.RedirectUri);
                                logger.Debug("Callback path: " + notification.Options.CallbackPath);
                            }
                            #endregion

                            return(Task.FromResult(0));
                        },

                        AuthorizationCodeReceived = async context =>
                        {
                            DotNetNuke.Entities.Portals.PortalSettings _portalSettings = null;

                            #region "Get settings from current DNN portal"
                            if (context.OwinContext.Environment["System.Web.HttpContextBase"] != null &&
                                context.OwinContext.Environment["System.Web.HttpContextBase"] is System.Web.HttpContextWrapper)
                            {
                                System.Web.HttpContextWrapper _context = context.OwinContext.Environment["System.Web.HttpContextBase"] as System.Web.HttpContextWrapper;
                                if (_context.Items["PortalSettings"] != null &&
                                    _context.Items["PortalSettings"] is DotNetNuke.Entities.Portals.PortalSettings)
                                {
                                    _portalSettings = _context.Items["PortalSettings"] as DotNetNuke.Entities.Portals.PortalSettings;
                                }
                            }
                            #endregion

                            #region "Get provider settings"
                            Auth0ConfigBase _providerConfig = null;
                            if (_portalSettings != null)
                            {
                                _providerConfig = Auth0ConfigBase.GetConfig(Constants.PROVIDER_NAME, _portalSettings.PortalId);
                            }
                            else
                            {
                                throw new ArgumentNullException("Can't obtain DNN settings, login process terminated!!");
                            }
                            #endregion

                            GS.Auth0.Components.UserController userController = new GS.Auth0.Components.UserController();

                            //get or create DNN user
                            DotNetNuke.Entities.Users.UserInfo _userInfo = userController.User_Create(context.AuthenticationTicket.Identity.Name, _portalSettings, _providerConfig.IsDiagnosticModeEnabled);

                            if (_userInfo != null)
                            {
                                //update DNN user profile
                                userController.User_Update(
                                    _userInfo,
                                    context.AuthenticationTicket.Identity?.FindFirst(c => c.Type == "nickname")?.Value,
                                    context.AuthenticationTicket.Identity?.FindFirst(c => c.Type == System.Security.Claims.ClaimTypes.Email)?.Value,
                                    _portalSettings.PortalId,
                                    _providerConfig.IsDiagnosticModeEnabled);

                                DotNetNuke.Security.Membership.UserLoginStatus loginStatus = DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_FAILURE;
                                UserInfo objUserInfo = DotNetNuke.Entities.Users.UserController.ValidateUser(_portalSettings.PortalId, context.AuthenticationTicket.Identity.Name, "",
                                                                                                             Constants.PROVIDER_NAME, "",
                                                                                                             _portalSettings.PortalName, "",
                                                                                                             ref loginStatus);

                                //set type of current authentication provider
                                DotNetNuke.Services.Authentication.AuthenticationController.SetAuthenticationType(Constants.AUTH_TYPE);
                                DotNetNuke.Entities.Users.UserController.UserLogin(_portalSettings.PortalId, _userInfo, _portalSettings.PortalName, context.OwinContext.Request.RemoteIpAddress, false);
                            }
                            else
                            {
                                throw new ArgumentNullException(string.Format("Can't create or get user '{0}' from DNN.", context.AuthenticationTicket.Identity.Name));
                            }

                            await Task.FromResult(0);
                        },

                        AuthenticationFailed = (context) =>
                        {
                            //get the error message and send it to the DNN login page
                            DotNetNuke.Entities.Portals.PortalSettings _portalSettings = null;

                            #region "Get settings from current DNN portal"
                            if (context.OwinContext.Environment["System.Web.HttpContextBase"] != null &&
                                context.OwinContext.Environment["System.Web.HttpContextBase"] is System.Web.HttpContextWrapper)
                            {
                                System.Web.HttpContextWrapper _context = context.OwinContext.Environment["System.Web.HttpContextBase"] as System.Web.HttpContextWrapper;
                                if (_context.Items["PortalSettings"] != null &&
                                    _context.Items["PortalSettings"] is DotNetNuke.Entities.Portals.PortalSettings)
                                {
                                    _portalSettings = _context.Items["PortalSettings"] as DotNetNuke.Entities.Portals.PortalSettings;
                                }
                            }
                            #endregion

                            #region "Get provider settings"
                            Auth0ConfigBase _providerConfig = null;
                            if (_portalSettings != null)
                            {
                                _providerConfig = Auth0ConfigBase.GetConfig(Constants.PROVIDER_NAME, _portalSettings.PortalId);
                            }
                            else
                            {
                                logger.Error("Can't obtain DNN settings from 'AuthenticationFailed' event, login process terminated!!");
                            }
                            #endregion

                            if (_providerConfig.IsDiagnosticModeEnabled)
                            {
                                logger.Error(string.Format("OIDC authentication failed, details: {0}", context.Exception));
                            }

                            string redirectUrl = DotNetNuke.Common.Globals.NavigateURL(_portalSettings.LoginTabId, "Login", new string[] { Constants.ALERT_QUERY_STRING + "=" + context.Exception.Message });
                            context.Response.Redirect(redirectUrl);
                            context.HandleResponse();
                            return(Task.FromResult(0));
                        },

                        #region "Rest of 'Notification' methods, not in use for now."
                        //SecurityTokenValidated = notification =>
                        //{
                        //    return Task.FromResult(0);
                        //},
                        //MessageReceived = (context) =>
                        //{

                        //    return Task.FromResult(0);
                        //},
                        #endregion
                    },
                });
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
        }