Beispiel #1
0
        /// <summary>
        /// Посылаем при нажатии кнопки "Вход через..." или "Вход" для стендэлон
        /// </summary>
        /// <param name="loginType"></param>
        /// <param name="login"></param>
        /// <param name="pass"></param>
        public void SendAuth(LoginTypeEnum loginType, string login = "", string pass = "")
        {
            var request = new NetRequest(PacketTypes.auth);
            request.AddParam("auth_type", loginType.ToString());
            switch (loginType)
            {
                case LoginTypeEnum.stand_alone:
                    request.AddParam("login", login);
                    request.AddParam("pass", pass);
                    break;
                case LoginTypeEnum.vk:
                    break;
                default:
                    break;
            }

            SendRequest(request);
        }
Beispiel #2
0
        /// <summary>
        /// Посылаем при нажатии кнопки "Вход через..." или "Вход" для стендэлон
        /// </summary>
        /// <param name="loginType"></param>
        /// <param name="login"></param>
        /// <param name="pass"></param>
        public void SendAuth(LoginTypeEnum loginType, string login = "", string pass = "")
        {
            var request = new NetRequest(PacketTypes.auth);

            request.AddParam("auth_type", loginType.ToString());
            switch (loginType)
            {
            case LoginTypeEnum.stand_alone:
                request.AddParam("login", login);
                request.AddParam("pass", pass);
                break;

            case LoginTypeEnum.vk:
                break;

            default:
                break;
            }

            SendRequest(request);
        }
 public FlyBirdIdentity(LoginTypeEnum authType, bool isAuth, string name)
 {
     this._AuthenticationType = authType.ToString();
     this._IsAuthenticated    = isAuth;
     this._Name = name;
 }
        /// <summary>
        /// 创建新的用户Session
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="ip"></param>
        /// <param name="mac"></param>
        /// <param name="stateEvent"></param>
        /// <param name="sessionEvent">触发创建的事件类型</param>
        /// <returns></returns>
        public UserSession CreateSession(string userID, string ip, string mac, LoginTypeEnum authType, UserSessionEventEnum sessionEvent)
        {
            UserSession session = new UserSession(userID);

            session.LogonInfo.IP       = ip;
            session.LogonInfo.MAC      = mac;
            session.LogonInfo.AuthType = authType;
            session.SessionEvent       = sessionEvent;

            try
            {
                lock (_sessions)
                {
                    _sessions.Add(session.SessionID, session);
                }
            }
            catch (Exception) { }

            /*--写事件日志开始--*/
            SysEvent evt = new SysEvent();

            evt.UserID    = session.User.UserID;
            evt.LoginName = session.User.LoginName;
            evt.IP        = session.LogonInfo.IP;
            evt.Record    = String.Format("CreateSession({0}, {1}, {2}, {3})", userID, ip, authType.ToString(), sessionEvent.ToString());
            evt.DoCreate();
            /*--写事件日志结束--*/

            return(session);
        }
        /// <summary>
        /// 创建新的用户Session
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="ip"></param>
        /// <param name="mac"></param>
        /// <param name="stateEvent"></param>
        /// <returns></returns>
        public UserSession CreateSession(string userID, string ip, string mac, LoginTypeEnum authType)
        {
            UserSession[] orgSession = _sessions.Values.Where(s => s.User.UserID == userID).ToArray();
            UserSession   session;

            if (orgSession.Count() <= 0)
            {
                session = new UserSession(userID);

                session.LogonInfo.IP       = ip;
                session.LogonInfo.MAC      = mac;
                session.LogonInfo.AuthType = authType;

                if (authType == LoginTypeEnum.PCIE || authType == LoginTypeEnum.PCClient)
                {
                    session.SessionEvent = UserSessionEventEnum.Login;
                }

                try
                {
                    lock (_sessions)
                    {
                        _sessions.Add(session.SessionID, session);
                    }
                }
                catch (Exception) { }
            }
            else
            {
                session = orgSession[0];

                session.RefreshState();
            }

            /*--写事件日志开始--*/
            SysEvent evt = new SysEvent();

            evt.UserID    = session.User.UserID;
            evt.LoginName = session.User.LoginName;
            evt.IP        = session.LogonInfo.IP;
            evt.Record    = String.Format("CreateSession({0}, {1}, {2}, {3})", userID, ip, mac, authType.ToString());
            evt.DoCreate();
            /*--写事件日志结束--*/

            return(session);
        }