Ejemplo n.º 1
0
        //[AllowAnonymous]
        public ActionResult Invitelogin(int inviterId, int projectId)
        {
            string tempIp           = Request.UserHostAddress;
            var    loginStatusModel = new LoginStatusModel {
                Ip = tempIp, LoginDateUtc = DateTime.UtcNow
            };

            Api.AccountController.UpdateLoginInfo(loginStatusModel, AuthUtility.GetUserId(User),
                                                  _userManager, _userService);

            var res  = GetUserProfile(_userManager);
            var user = res;

            Session["UserId"] = user.Id;
            Session["Email"]  = user.Email;

            var host       = Utility.GetHost(Request.Url);
            var roles      = AuthUtility.GetUserRoles(User.Identity);
            var userId     = AuthUtility.GetUserId(User);
            var userEntity = _userManager.FindById(userId);
            //获取邀请人名字和项目内容
            var appModel = Api.CloudController.GetClouds(userEntity,
                                                         _uservaultService, _cloudService, _vaultTemplateService, _vaultService, _mfvaultService, host, roles); //_usercloudService,

            Session["userApp"] = appModel;
            var inviterRes     = GetUserProfile(_userManager, inviterId);
            var inviterProfile = inviterRes;
            var projectRes     = Api.ProjectController.GetProject(projectId, _projService, _mfvaultService,
                                                                  _vaultTemplateService);
            var project   = projectRes;
            var returnStr = "{'state':'success','inviter':'" + inviterProfile.UserName + "','projectName':'" + project.Name + "','projectDes':'" + project.Description + "'}";

            return(Content(returnStr));
        }
Ejemplo n.º 2
0
        public async Task <IHttpActionResult> LoginInfo(LoginStatusModel model)
        {
            var userId = User.Identity.GetUserId <int>();
            await Task.Run(() => UpdateLoginInfo(model, userId, _userManager, _userService));

            return(Ok());
        }
Ejemplo n.º 3
0
        public LoginStatusModel Get(IHttpContextAccessor httpContextAccessor)
        {
            var model = new LoginStatusModel();

            if (httpContextAccessor.HttpContext.Request.Cookies.TryGetValue(CookieName.USER_ID, out string value))
            {
                model.UserName = value;
            }
            return(model);
        }
Ejemplo n.º 4
0
        public LoginStatusModel Get()
        {
            LoginStatusModel model = new LoginStatusModel();

            if (true)
            {
                model.UserName = "******";
            }
            return(model);
        }
Ejemplo n.º 5
0
        public static void UpdateLoginInfo(LoginStatusModel model, long userId, UserManager <User, long> _userManager,
                                           IUserService _userService)
        {
            var user = _userManager.FindById(userId);

            user.LastIpAddress = model.Ip;
            var date = model.LoginDateUtc;

            if (date < DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)))
            {
                date = DateTime.UtcNow;
            }
            user.LastLoginDateUtc = date;
            _userService.UpdateUser(user);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Returns the login status model of the currently logged in member.
        /// </summary>
        /// <returns></returns>
        public virtual LoginStatusModel GetCurrentLoginStatus()
        {
            var model = LoginStatusModel.CreateModel();

            if (IsLoggedIn() == false)
            {
                model.IsLoggedIn = false;
                return(model);
            }

            var provider = _membershipProvider;

            if (provider.IsUmbracoMembershipProvider())
            {
                var member = GetCurrentPersistedMember();
                //this shouldn't happen but will if the member is deleted in the back office while the member is trying
                // to use the front-end!
                if (member == null)
                {
                    //log them out since they've been removed
                    FormsAuthentication.SignOut();
                    model.IsLoggedIn = false;
                    return(model);
                }
                model.Name     = member.Name;
                model.Username = member.Username;
                model.Email    = member.Email;
            }
            else
            {
                var member = provider.GetCurrentUserOnline();
                //this shouldn't happen but will if the member is deleted in the back office while the member is trying
                // to use the front-end!
                if (member == null)
                {
                    //log them out since they've been removed
                    FormsAuthentication.SignOut();
                    model.IsLoggedIn = false;
                    return(model);
                }
                model.Name     = member.UserName;
                model.Username = member.UserName;
                model.Email    = member.Email;
            }

            model.IsLoggedIn = true;
            return(model);
        }
Ejemplo n.º 7
0
        public ActionResult HandleLogout([Bind(Prefix = "loginStatusModel")] LoginStatusModel model)
        {
            // TODO: Use new Member API
            if (ModelState.IsValid)
            {
                if (Member.IsLoggedOn())
                {
                    var member = Member.GetCurrentMember();
                    if (member != null)
                    {
                        var memberId = member.Id;
                        Member.RemoveMemberFromCache(memberId);
                        Member.ClearMemberFromClient(memberId);
                    }
                }

                return(Redirect("/"));
            }

            return(CurrentUmbracoPage());
        }
Ejemplo n.º 8
0
 public Task <HttpResponseMessage> LoginInfo(LoginStatusModel model, TokenModel token)
 {
     TokenClient.RefreshToken(_client, token);
     return(_client.PostAsJsonAsync(_routePrefix + "/LoginInfo", model));
 }