コード例 #1
0
        public ActionResult LogOn(LogOnViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(LogOnResult(model));
            }

            string userName = model.FacebookUserId.ToString();

            long facebookUserId = _facebookClient.GetUserId(model.AccessToken);

            if (facebookUserId == 0)
            {
                ModelState.AddModelError("AccessToken", "Invalid AccessToken");
            }

            if (facebookUserId != model.FacebookUserId)
            {
                ModelState.AddModelError("FacebookUserId", "Invalid FacebookUserId.");
            }

            if (!ModelState.IsValid)
            {
                return(LogOnResult(model));
            }

            User user = UserService.GetUser(model.FacebookUserId) ?? new User {
                FacebookUserId = model.FacebookUserId
            };

            user.AccessToken = model.AccessToken;

            UserService.UpdateUser(user);
            UserSettings = user;

            _authenticationService.SignIn(userName);

            return(LogOnResult(model));
        }
コード例 #2
0
ファイル: UserController.cs プロジェクト: a864610877/MEINUO
        public ActionResult Login(string signinUserName, string signinPassword, string signinCode, string logonToken)
        {
            var curCode = UnityController.GetCode(this.HttpContext, "shopsignin");

            if (curCode != signinCode)
            {
                ViewData["msg"] = "验证码错误";
                //return Json(new SimpleAjaxResult("验证码错误"));
                return(Login());
            }
            var tokenOnServer = LogonToken;

            LogonToken = Guid.NewGuid().ToString("N");
            if (_unityContainer.Resolve <IAuthenticateService>("password").ValidateUser(signinUserName, signinPassword, logonToken, tokenOnServer))
            {
                FormsService.SignIn(signinUserName, false);
                Session.Clear();
                //return Json(new SimpleAjaxResult());
                return(RedirectToAction("Index", "Home"));
            }
            ViewData["msg"] = "用户名或密码错";
            return(Login());
        }
コード例 #3
0
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            if (httpContext.Session != null)
            {
                User user = (User)httpContext.Session[UserSettingsKey];
                if (user == null)
                {
                    user = GetUser(httpContext);

                    httpContext.Session[UserSettingsKey] = user;
                }

                if (user != null && user.FacebookUserId > 0)
                {
                    // sign the user in
                    _formsAuthenticationService.SignIn(user.FacebookUserId.ToString());

                    return(true);
                }
            }

            return(base.AuthorizeCore(httpContext));
        }
コード例 #4
0
        public ActionResult Index(SetupViewModel model)
        {
            if (ModelState.IsValid)
            {
                // Attempt to register the user
                MembershipCreateStatus createStatus = _membershipService.CreateUser(model.SetupModel.UserName, model.SetupModel.Password, model.SetupModel.Email);

                if (createStatus == MembershipCreateStatus.Success)
                {
                    _formsService.SignIn(model.SetupModel.UserName, false /* createPersistentCookie */);
                    // Create the site configuration
                    IConfiguration configuration = new Configuration.Configuration();
                    configuration.SiteName = model.Configuration.SiteName;
                    _session.Store(configuration);
                    _session.SaveChanges();

                    return(RedirectToAction("index", "UI", new { area = "ui" }));
                }

                ModelState.AddModelError("", AccountValidation.ErrorCodeToString(createStatus));
            }
            // If we got this far, something failed, redisplay form
            return(View(model));
        }
コード例 #5
0
 private void SignIn(SocialUserInformation userData)
 {
     _formsAuthenticationService.SignIn(userData.UserName, userData, false);
 }
コード例 #6
0
 private void AuthenticateMember(string username, bool rememberMe)
 {
     _formsAuthenticationService.SignOut();
     _formsAuthenticationService.SignIn(username, rememberMe);
 }
コード例 #7
0
        //     public ActionResult UserLogOn(string UserName, string Password, string returnUrl)
        //     {

        //      var err_msg = string.Empty;
        //if (ModelState.IsValid)
        //         {
        //             User user;
        //             FoxSecDBContext db = new FoxSecDBContext();

        //	if (_membershipService.ValidateUser(UserName, Password, out user))
        //	{
        //                 //Send log
        //                 //illi 25.12.1012 Logger4SendingEMail.LogSender.Info(string.Format("User \"{0}\" has entered!", UserName));
        //                 //illi 25.12.1012 Logger4SendingEMail.InitLogger();



        //                 // CheckUserAuthentication(UserName);

        //                 var user_roles = user.UserRoles;
        //		var check_date = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
        //		var role = user_roles.Where(ur => !ur.IsDeleted && ur.ValidTo >= check_date && ur.ValidFrom <= check_date).FirstOrDefault();

        //                 int role_id = role.RoleId;
        //                 Session["Role_ID"] = role_id;
        //                 Session["User_Id"] = role.UserId;
        //                 //int comp_id = role.CompanyId;

        //                 var rolename = db.UserRoles.SqlQuery("select Id,Name from Roles where Id=" + role_id).ToList();
        //                 //rolee = db.Database.ExecuteSqlCommand("select Name from Roles where Id="+role_id);
        //                 if (rolename != null)
        //                 {
        //                     Session["Role_Name"] = rolename[0].Name;
        //                 }
        //                 if (role != null)
        //		{
        //                     //var rvm = CreateViewModel<RoleEditViewModel>();
        //                     //Mapper.Map(_roleRepository.FindById(role_id), rvm.Role);
        //                     var menues = role.Role.Menues.ToList().Contains(1);
        //                     if(menues)
        //                     {
        //                         _formsService.SignIn(UserName, false);

        //                         var host = Request.UserHostAddress;
        //                         var xml_message = new XElement(XMLLogLiterals.LOG_MESSAGE);
        //                         var logon_params = new List<string>();
        //                         logon_params.Add(UserName);
        //                         var xml_user_logon = XMLLogMessageHelper.TemplateToXml("LogMessageUserLogon", logon_params);
        //                         xml_message.Add(xml_user_logon);
        //                         var flag = "";

        //                         _logService.CreateLog(user.Id, "web", flag, host, user.CompanyId, xml_message.ToString());
        //                     }
        //                     else
        //                     {
        //                         err_msg = ViewResources.SharedStrings.AccountNoActiveTab;
        //                         ModelState.AddModelError("", err_msg);
        //                     }
        //                 }
        //		else
        //		{
        //			err_msg = ViewResources.SharedStrings.AccountNoActiveRole;
        //			ModelState.AddModelError("", err_msg);
        //		}
        //	}
        //	else
        //	{
        //		err_msg = ViewResources.SharedStrings.AccountIncorrectPasword;
        //		ModelState.AddModelError("", err_msg);
        //	}
        //         }

        //return Json(new
        //{
        //	IsSucceed = ModelState.IsValid,
        //	Msg = ModelState.IsValid ? string.Empty : err_msg
        //});
        //     }

        public ActionResult UserLogOn(string UserName, string Password, string returnUrl)
        {
            var err_msg = string.Empty;

            if (ModelState.IsValid)
            {
                User            user;
                FoxSecDBContext db = new FoxSecDBContext();
                if (_membershipService.ValidateUser(UserName, Password, out user))
                {
                    var user_roles = user.UserRoles;
                    var check_date = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
                    var role       = user_roles.Where(ur => !ur.IsDeleted && ur.ValidTo >= check_date && ur.ValidFrom <= check_date).FirstOrDefault();

                    if (role == null)
                    {
                        err_msg = ViewResources.SharedStrings.LogonRoleError;
                        ModelState.AddModelError("", err_msg);
                    }
                    else
                    {
                        int role_id = role.RoleId;
                        Session["Role_ID"] = role_id;
                        Session["User_Id"] = role.UserId;
                        //int comp_id = role.CompanyId;
                        var rolename = db.UserRoles.SqlQuery("select Id,Name from Roles where Id=" + role_id).ToList();
                        con.Open();
                        SqlCommand cmd       = new SqlCommand("select FirstName+' '+LastName from Users where id='" + role.UserId + "'", con);
                        string     firstname = Convert.ToString(cmd.ExecuteScalar());
                        con.Close();
                        //rolee = db.Database.ExecuteSqlCommand("select Name from Roles where Id="+role_id);
                        if (rolename != null)
                        {
                            Session["Role_Name"] = rolename[0].Name;
                        }
                        if (role != null)
                        {
                            //var rvm = CreateViewModel<RoleEditViewModel>();
                            //Mapper.Map(_roleRepository.FindById(role_id), rvm.Role);
                            var menues = role.Role.Menues.ToList().Contains(1);
                            if (menues)
                            {
                                _formsService.SignIn(UserName, false);

                                var host         = Request.UserHostAddress;
                                var xml_message  = new XElement(XMLLogLiterals.LOG_MESSAGE);
                                var logon_params = new List <string>();
                                logon_params.Add(firstname);
                                var xml_user_logon = XMLLogMessageHelper.TemplateToXml("LogMessageUserLogon", logon_params);
                                xml_message.Add(xml_user_logon);
                                var flag = "";

                                _logService.CreateLog(user.Id, "web", flag, host, user.CompanyId, xml_message.ToString());
                            }
                            else
                            {
                                err_msg = ViewResources.SharedStrings.AccountNoActiveTab;
                                ModelState.AddModelError("", err_msg);
                            }
                        }
                        else
                        {
                            err_msg = ViewResources.SharedStrings.AccountNoActiveRole;
                            ModelState.AddModelError("", err_msg);
                        }
                    }
                }
                else
                {
                    err_msg = ViewResources.SharedStrings.AccountIncorrectPasword;
                    ModelState.AddModelError("", err_msg);
                }
            }
            return(Json(new
            {
                IsSucceed = ModelState.IsValid,
                Msg = ModelState.IsValid ? string.Empty : err_msg
            }));
        }
コード例 #8
0
        public ActionResult CheckCredentials(User currentUser, string username, string password, string reason)
        {
            var returnContent = Globalizer.GetGlobalizedString("MSG_LOGINPORTLET_INVALID");

            if (currentUser.Username == "Guest")
            {
                return(Content("User Not Loged In"));
            }

            var currentPortalUser = _portalUserFacade.FindByUsername(currentUser.Username);

            if (Request.IsAjaxRequest())
            {
                try
                {
                    if (_loginService.IsLoginValid(currentUser.Username, password) || !_requirePassword)
                    {
                        if (System.Web.HttpContext.Current.Session["ProxyLoginOriginalUser"] != null)
                        {
                            return(Content(Globalizer.GetGlobalizedString("CUS_BC_PL_ALREADY_PROXIED")));
                        }

                        var user = _portalUserFacade.FindByUsername(username);
                        if (user != null)
                        {
                            var roleCheck = new RoleChecker().RoleCheck(user, _portletTemplateFacade.FindByName("[CUS] BCProxyLogin"), currentPortalUser);
                            if (roleCheck.Success)
                            {
                                LogAction(reason, user.ID, currentPortalUser.ID);

                                System.Web.HttpContext.Current.Session.Clear();
                                System.Web.HttpContext.Current.Session["file_access"] = new StringDictionary();// UploadFile doesn't check to see if there is a valid StringDictionary here, and does a cast.  This causes a unhandled exception that bubbles up to a YSOD

                                _formsAuthenticationService.SignIn(username, false);

                                System.Web.HttpContext.Current.Session["ProxyLoginOriginalUser"] = currentUser;
                                returnContent = "OK";
                            }
                            else
                            {
                                if (_logFailures)
                                {
                                    LogAction(roleCheck.Reason, user.ID, currentPortalUser.ID);
                                }
                                returnContent = roleCheck.Reason;
                            }
                        }
                        else
                        {
                            returnContent = Globalizer.GetGlobalizedString("CUS_BC_PL_USER_NOT_FOUND");
                        }
                    }
                }
                catch (Exception ex)
                {
                    returnContent = ex.GetBaseException().Message;
                }
            }

            return(Content(returnContent));
        }