/*
         * public UserSessionInfo Create(UserSessionInfo item)
         * {
         *  return UserSessionDao.Create(item);
         * }
         */
        public UserSessionBE Update(UserSessionBE objBE)
        {
            objBE.ModifiedOn   = App.getDate();
            objBE.ModifiedById = objBE.UserId;

            return(daoUserSession.Update(objBE));
        }
Beispiel #2
0
        public IPrincipal SetPrincipal(Guid guidUserId, string strToken)
        {
            var principal = (IPrincipal)ApplicationInstance.GetCache <Principal>(guidUserId.ToString());

            if (principal == null)
            {
                IUserSession  objUserSessionBL = ApplicationInstance.ucApplication.Resolve <IUserSession>();
                UserSessionBE session          = objUserSessionBL.GetByUser(guidUserId);

                IUser  objUserBL = ApplicationInstance.ucApplication.Resolve <IUser>();
                UserBE user      = objUserBL.Get(guidUserId);

                /*
                 * IRole roleModule = ApplicationInstance.Container.Resolve<IRole>();
                 * List<RoleBE> roles = roleModule.GetByUser(userId);
                 *
                 * IPermission permissionModule = ApplicationInstance.Container.Resolve<IPermission>();
                 * List<PermissionBE> permissions = permissionModule.GetByUser(userId);
                 */
                Session objSession = new Session();
                objSession.Create(user, strToken, Settings.PasswordExpirationTime /*, roles, permissions*/, session);

                return((IPrincipal)ApplicationInstance.GetCache <Principal>(guidUserId.ToString()));
            }
            else
            {
                return(principal);
            }
        }
Beispiel #3
0
        public void Create(UserBE objUserBE, string strToken, int intSessionTimeInMinutes /*, List<RoleBE> roles, List<PermissionBE> permissions*/, UserSessionBE objUserSessionBE = null)
        {
            // crear identidad
            Identity identity = new Identity(objUserBE);

            // crear principal
            Principal principal = new Principal(identity, strToken, intSessionTimeInMinutes /*, roles, permissions*/);

            // crear o actualizar session en DB
            if (objUserSessionBE == null)
            {
                objUserSessionBE              = new UserSessionBE();
                objUserSessionBE.Name         = objUserBE.Name + ": " + App.getDate().ToString("dd/MM/yyyy HH:mm:ss");
                objUserSessionBE.UserId       = objUserBE.Id;
                objUserSessionBE.Token        = strToken;
                objUserSessionBE.Validity     = App.getDate().AddMinutes(intSessionTimeInMinutes);
                objUserSessionBE.StatusId     = Guid.Parse(Settings.StatusActiveId);
                objUserSessionBE.OwnerId      = objUserBE.Id;
                objUserSessionBE.CreatedById  = objUserBE.Id;
                objUserSessionBE.ModifiedById = objUserBE.Id;

                daoUserSession.Create(objUserSessionBE);
            }
            else
            {
                objUserSessionBE.Validity     = App.getDate().AddMinutes(intSessionTimeInMinutes);
                objUserSessionBE.ModifiedOn   = App.getDate();
                objUserSessionBE.ModifiedById = objUserBE.Id;

                daoUserSession.Update(objUserSessionBE);
            }

            // guardar session en memoria
            ApplicationInstance.SetCache <Principal>(principal.Identification.Id.ToString(), principal, intSessionTimeInMinutes);
        }
        public bool Close(string userId)
        {
            bool          flag  = false;
            UserSessionBE objBE = objUserSessionBL.GetByUser(Guid.Parse(userId));

            if (objBE != null)
            {
                objBE.Validity = App.getDate();

                this.objUserSessionBL.Update(objBE);

                ApplicationInstance.DeleteCache <Principal>(Convert.ToString(objBE.UserId.Value));

                flag = true;
            }

            return(flag);
        }