示例#1
0
        private void Unauthenticated()
        {
            Receive<UserLoginMessage>(message => message.Username == _userName, message =>
            {
                _userAccess.Tell(message, Self);
            });

            Receive<LoginSucceededMessage>(message =>
            {
                if (message.User != null && message.User.Name == _userName)
                {
                    _log.Info("User " + message.User.Name + " login succeeded");
                    _user = message.User;
                    Become(Authenticated);
                    ActorSystemContext.SignalUser.Tell(message, Self);
                }
                else
                {
                    _log.Error("Invalid login succeeded message received.");
                }
            });

            Receive<LoginFailedMessage>(message => message.Username == _userName, message =>
            {
                _log.Info("User " + message.Username + " login failed");
                Context.Parent.Tell(message, Self);
            });

            ReceiveAny(message =>
            {
                _log.Debug("Message received for user " + _userName + " while unauthenticated...");
            });
        }
示例#2
0
 public void UserCreated(string conversationId, User user)
 {
     Clients.User(conversationId).userCreated(user.ToModel());
 }
示例#3
0
 public void UserArrived(long roomId, User user)
 {
     Groups.Add(user.Id.ToString(), roomId.ToGroupName());
     Clients.Group(roomId.ToGroupName()).userArrived(roomId, user.ToModel());
 }
示例#4
0
 public void LoggedIn(string conversationId, User user)
 {
     Clients.User(conversationId).loggedIn(user.ToModel());
 }