예제 #1
0
void MusicUserDialog::firstStatckWidget()
{
    ui->userComboBox->setItemDelegate(new QStyledItemDelegate(ui->userComboBox));
    ui->userComboBox->setStyleSheet(MusicUIObject::MComboBoxStyle01 + MusicUIObject::MItemView01);
    ui->userComboBox->view()->setStyleSheet(MusicUIObject::MScrollBarStyle01);
    ui->passwLineEdit->setStyleSheet(MusicUIObject::MLineEditStyle01);
    ui->loginButton->setStyleSheet(MusicUIObject::MPushButtonStyle08);
    ui->forgotPwdButton->setStyleSheet(MusicUIObject::MPushButtonStyle09);
    ui->registerButton->setStyleSheet(MusicUIObject::MPushButtonStyle09);

    ui->registerButton->setCursor(QCursor(Qt::PointingHandCursor));
    ui->forgotPwdButton->setCursor(QCursor(Qt::PointingHandCursor));
    ui->loginButton->setCursor(QCursor(Qt::PointingHandCursor));
    connect(ui->registerButton, SIGNAL(clicked()), SLOT(registerUser()));
    connect(ui->forgotPwdButton, SIGNAL(clicked()), SLOT(userForgotPasswd()));
    connect(ui->loginButton, SIGNAL(clicked()), SLOT(checkUserLogin()));
}
예제 #2
0
bool Server::stateAuthorize( const QString& cmd, ClientsIterator client )
{
    QRegExp rx(
        QString("mbclient:(\\d+):((\\w|\\d){%1,%2}):(.+):")
            .arg(LOGIN_LENGTH_MIN)
            .arg(LOGIN_LENGTH_MAX)
    );
    if( rx.indexIn(cmd) == -1 )
        return false;

    const QString& login = rx.cap(2);
    const QString& password = rx.cap(4);


    if (isUserConnected(login))
    {
        client->send( "alreadyauth:" );
        disconnectClient( client );
        return true;
    }

    if( client->status == Client::ST_AUTHORIZED && client->login == login )
    {
        client->send( "alreadyauth:" );
        disconnectClient( client );
        return true;
    }

    if( !checkProtocolVersion(rx.cap(1).toInt()) )
    {
        client->send( "wrongver:" );
        disconnectClient( client );
        return true;
    }

    CheckUserStatus cus = checkUserLogin( login, password );
    if( registrationAllowed_ && cus == CUS_NOTFOUND )
    {
        cus = CUS_OK;
        if( !registerUserLogin(login, password) )
        {
            // TODO: return 'server error' status or smth
            return true;
        }
    }

    if( cus != CUS_OK || (!guestAllowed_ && login == DEFAULT_GUEST_ACCOUNT) )
    {
        client->send( "wronguser:"******"mbserver:%1:").arg(PROTOCOL_VERSION)
        )
    );

    qDebug() << "User" << client->login << "authorized";
    return true;
}