Esempio n. 1
0
        internal static LogicSession SignIn(string userId, string clientIp)
        {
            HttpContext  current      = HttpContext.Current;
            LogicSession logicSession = new LogicSession(userId, LogicSessionType.C);

            logicSession.DbId     = AppConfig.DefaultDbId;
            logicSession.ClientIp = clientIp;
            object lockObj = AuthUtils._lockObj;

            lock (lockObj)
            {
                bool flag2 = AuthUtils.GlobalLogicSession.ContainsKey(logicSession.SessionId);
                if (flag2)
                {
                    logicSession = null;
                }
                else
                {
                    AuthUtils.GlobalLogicSession.Add(logicSession.SessionId, logicSession);
                    AuthUtils.InsertAuth(new Auth
                    {
                        SessionId   = logicSession.SessionId,
                        UserId      = logicSession.UserId,
                        LoginTime   = logicSession.LastRequestTime,
                        LoginType   = logicSession.LoginType,
                        ClientIp    = logicSession.ClientIp,
                        ClientName  = logicSession.ClientIp,
                        DbId        = logicSession.DbId,
                        LastRefresh = logicSession.LastRefreshTime,
                        LastRequest = logicSession.LastRequestTime,
                        UpdateTime  = logicSession.UpdateTime,
                        ExInfo      = logicSession.ExInfo
                    });
                    current.Response.SetCookie(new HttpCookie("USERID", logicSession.UserId)
                    {
                        HttpOnly = false,
                        Path     = AppRuntime.AppVirtualPath
                    });
                }
            }
            return(logicSession);
        }