示例#1
0
        private void RecordLoginSucceeded(User user)
        {
            var userRoles   = _roleMemberRepository.GetAllBy(m => m.UserId == user.Id).Select(r => r.RoleId).ToList();
            var permissions = _rolePermissionRepository.GetAllBy(r => userRoles.Contains(r.RoleId), "Permission").Select(p => p.Permission.PermissionCode).ToList();

            var userInfo = UserInfo.GetInstance(user, permissions);

            HttpSessionWrapper.SetUserInfo(user.Code, userInfo);

            var serializeModel = new PrincipalModel(user.Code);
            var serializer     = new JavaScriptSerializer();
            var userData       = serializer.Serialize(serializeModel);
            var authTicket     = new FormsAuthenticationTicket(1, user.Code, DateTime.Now, DateTime.Now.AddHours(2), false, userData);
            var eticket        = FormsAuthentication.Encrypt(authTicket);
            var fcookie        = new HttpCookie(FormsAuthentication.FormsCookieName, eticket);

            Response.Cookies.Add(fcookie);

            // Update Last Login Time
            if (user.AccessRule != null)
            {
                user.AccessRule.LastLoginDate    = DateTime.UtcNow;
                user.AccessRule.LastActivityDate = DateTime.UtcNow;
                user.AccessRule.PasswordFailuresSinceLastSuccess = 0;
                user.AccessRule.LastLoginDate = user.AccessRule.LastActivityDate = DateTime.UtcNow;

                _userRepository.Update(user);
                _unitOfWork.Commit();
            }
        }
示例#2
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            if (!IsPostBack)
            {
                if (LoggedInUserId != null)
                {
                    var ids   = _memberContactsQuery.GetFirstDegreeContacts(LoggedInUserId.Value, PersonalVisibility.SendMessages);
                    var names = _membersQuery.GetFullNames(ids);

                    //Initialise friends collection for Ajax drop down
                    var sessWrapper = new HttpSessionWrapper(typeof(GetSuggestedContacts), Session);
                    sessWrapper.SetValue(GetSuggestedContacts.SessionKey, names);
                }
            }
        }
示例#3
0
        protected override IList <string> GetSuggestionList(HttpContext context, int maxResults)
        {
            if (GetMemberId(context) == null)
            {
                return(null);
            }

            var fragment    = context.Request.Params["name"];
            var sessWrapper = new HttpSessionWrapper(GetType(), context.Session);
            var names       = (IList <string>)sessWrapper.GetValue(SessionKey);

            if (names.IsNullOrEmpty())
            {
                return(null);
            }

            return(names.GetNames(fragment));
        }