Clear SVN login info

本文提供了一种在Windows和Linux环境下清除Subversion (SVN) 认证数据的方法。对于Windows用户,可以通过删除特定文件夹下的所有认证相关文件来实现;而对于Linux用户,则可以通过使用rm命令来移除相应的文件夹。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[Windows]

Delete C:\Documents and Settings\Administrator\Application Data\Subversion\auth\*

or

TortoiseSVN: Settings->Saved Data->Authentication data,Clear


[Linux]

rm -rf ~/.subversion/auth

#include "frmLogin.h" #include "ui_frmLogin.h" //#include "Controls/PdfiumViewer.h" frmLogin::frmLogin(QWidget *parent) : QDialog(parent), ui(new Ui::frmLogin), m_buttonGroup(new QButtonGroup(this)) { ui->setupUi(this); setWindowFlags(Qt::Window | Qt::CustomizeWindowHint); initControls(); } frmLogin::~frmLogin() { delete ui; } void frmLogin::initControls() { //ui->labAppName->setText(App::Name); ui->leUserName->clear(); ui->leUserName->setPlaceholderText("请输入账号"); ui->leUserName->setStyleSheet( "QLineEdit {" " background-color: rgb(255,255,255);" " border-radius: 0px;" " color:black;" " border: 1px solid rgb(224, 231, 241) !important;" "}" "QLineEdit[text=\"\"] {" " background-color: rgb(255,255,255);" " border-radius: 0px;" " color:rgb(224,231,241);" " border: 1px solid rgb(224, 231, 241) !important;" "}" ); ui->lePassWord->clear(); ui->lePassWord->setPlaceholderText("请输入密码"); ui->lePassWord->setEchoMode(QLineEdit::Password); ui->lePassWord->setStyleSheet( "QLineEdit {" " background-color: rgb(255,255,255);" " border-radius: 0px;" " color: black;" // 输入文本颜色为黑色 " border: 1px solid rgb(224, 231, 241) !important;" "}" "QLineEdit[text=\"\"] {" " background-color: rgb(255,255,255);" " border-radius: 0px;" " color: rgb(224,231,241);" // 无文本时显示灰色(占位文本) " border: 1px solid rgb(224, 231, 241) !important;" "}" ); // 创建用户名图标标签 QLabel *userIconLabel = new QLabel(ui->leUserName); // 修改父控件 userIconLabel->setPixmap(QPixmap(":/PkuCfws_AI/resource/frmLogin_user.png").scaled(18, 21, Qt::KeepAspectRatio)); userIconLabel->setAlignment(Qt::AlignCenter); userIconLabel->setFixedSize(50, ui->leUserName->height()); userIconLabel->setStyleSheet("background: transparent;"); ui->leUserName->setTextMargins(userIconLabel->width() + 5, 0, 0, 0); userIconLabel->move(5,8); // 创建密码图标标签 QLabel *pwdIconLabel = new QLabel(ui->lePassWord); // 修改父控件 pwdIconLabel->setPixmap(QPixmap(":/PkuCfws_AI/resource/frmLogin_userPassword.png").scaled(20, 20, Qt::KeepAspectRatio)); pwdIconLabel->setAlignment(Qt::AlignCenter); pwdIconLabel->setFixedSize(50, ui->lePassWord->height()); pwdIconLabel->setStyleSheet("background: transparent;"); ui->lePassWord->setTextMargins(pwdIconLabel->width() + 5, 0, 0, 0); pwdIconLabel->move(5,8); ui->lePassWord->setEchoMode(QLineEdit::Password); // 初始设置为密码模式 // 创建密码框右侧的按钮 QPushButton *rightButton = new QPushButton(ui->lePassWord); rightButton->setIcon(QIcon(":/PkuCfws_AI/resource/frmLogin_password2.png")); rightButton->setFixedSize(30, ui->lePassWord->height()); rightButton->setIconSize(QSize(27, 21)); rightButton->setFlat(true); rightButton->setStyleSheet("background: transparent;"); rightButton->move(478,8); connect(rightButton, &QPushButton::clicked, this, [this, rightButton]() { if (ui->lePassWord->echoMode() == QLineEdit::Password) { ui->lePassWord->setEchoMode(QLineEdit::Normal); rightButton->setIcon(QIcon(":/PkuCfws_AI/resource/frmLogin_password.png")); } else { ui->lePassWord->setEchoMode(QLineEdit::Password); rightButton->setIcon(QIcon(":/PkuCfws_AI/resource/frmLogin_password2.png")); } ui->lePassWord->setFocus(); }); //设置按钮的初始化样式 ui->pbn_frmLogin->setIcon(QIcon(":/PkuCfws_AI/resource/frmLogin_LogIn2.png")); ui->pbn_frmPKILogin->setIcon(QIcon(":/PkuCfws_AI/resource/frmLogin_KPI.png")); ui->pbn_frmLogin->setIconSize(QSize(27, 21)); ui->pbn_frmPKILogin->setIconSize(QSize(16, 24)); //初始化将两个按钮设置为互斥(状态一个按下一个弹起) m_buttonGroup->addButton(ui->pbn_frmLogin,0); m_buttonGroup->addButton(ui->pbn_frmPKILogin,1); m_buttonGroup->setExclusive(true);//将按钮组内部的按钮设置为互斥 // 设置默认状态 ui->pbn_frmLogin->setChecked(true); ui->pbn_frmPKILogin->setChecked(false); XmlHandle xml; QString strLastLogin = ""; int intReturn = xml.domGetPropertyValue(QString("Configuration/%1").arg(App_Const::LocalCFG::NodeName().LastLogin), App_Const::LocalCFG::AttribName().Value, strLastLogin); if (SysDefine::FAILED == intReturn) { App::writeLog(QString("[frmLogin][initControls][获取LastLogin节点的Value属性值失败:%1]").arg(xml.getErrorText())); } if (!strLastLogin.isEmpty()) { ui->leUserName->setText(strLastLogin); } //on_pbHidePassword_clicked(); ui->pbLogin->setFocusPolicy(Qt::NoFocus); ui->pbClose->setFocusPolicy(Qt::NoFocus); // ui->pbDisplayPassword->setFocusPolicy(Qt::NoFocus); // ui->pbHidePassword->setFocusPolicy(Qt::NoFocus); ui->pbClose->setFocusPolicy(Qt::NoFocus); ui->leUserName->setFocus(); // ui->pbLogin->setStyleSheet( // "QPushButton {" // " border-image: url(:/APP/resource/frmLogin_Login_N.png);" // " background: transparent;" // " color: rgb(255, 255, 255);" // "}" // "QPushButton:pressed {" // " border-image: url(:/APP/resource/frmLogin_Login_D.png);" // " background: transparent;" // " color: rgb(255, 255, 255);" // "}" // ); ui->pbClose->setStyleSheet( "QPushButton {" " background: transparent;" " border-image: url(:/APP/resource/frmLogin_Close_N.png);" "}" "QPushButton:pressed {" " background: transparent;" " border-image: url(:/APP/resource/frmLogin_Close_D.png);" "}" ); ui->leUserName->installEventFilter(this); ui->lePassWord->installEventFilter(this); this->installEventFilter(this); //ui->scrollArea->loadPdf("/home/ZHL/SVN/CFWS2/03.SourceCode/linux_x64_debug/MakeDocumentSignFile/FinishPreView.pdf"); connect(ui->pbn_frmLogin,&QPushButton::clicked,this,&frmLogin::on_pb_frmLogin_clicked); connect(ui->pbn_frmPKILogin,&QPushButton::clicked,this,&frmLogin::on_pb_frmPKILogin_clicked); } bool frmLogin::eventFilter(QObject *obj, QEvent *event) { if (obj == ui->leUserName) { if (event->type() == QEvent::FocusIn) { ui->leUserName->setStyleSheet( "QLineEdit {" " background-color: rgb(255,255,255);" " border-radius: 0px;" " color:rgb(224,231,241);" " border: 1px solid rgb(224, 231, 241) !important;" "}" ); if (ui->leUserName->text() == "请输入账号") { ui->leUserName->setText(""); } } else if (event->type() == QEvent::FocusOut) { if (ui->leUserName->text().isEmpty()) { ui->leUserName->setStyleSheet( "QLineEdit {" " background-color: rgb(255,255,255);" " border-radius: 0px;" " color:rgb(224,231,241);" " border: 1px solid rgb(224, 231, 241) !important;" "}" ); ui->leUserName->setPlaceholderText("请输入账号"); } } } else if (obj == ui->lePassWord) { if (event->type() == QEvent::FocusIn) { ui->lePassWord->setStyleSheet( "QLineEdit {" " background-color: rgb(255,255,255);" " border-radius: 0px;" " color:rgb(224,231,241);" " border: 1px solid rgb(224, 231, 241) !important;" "}" ); // if (ui->lePassWord->text() == "请输入密码") // { // ui->lePassWord->setText(""); // if (ui->pbDisplayPassword->isVisible()) // { // ui->lePassWord->setEchoMode(QLineEdit::Password); // } // } } else if (event->type() == QEvent::FocusOut) { if (ui->lePassWord->text().isEmpty()) { ui->lePassWord->setStyleSheet( "QLineEdit {" " background-color: rgb(255,255,255);" " border-radius: 0px;" " color:rgb(224,231,241);" " border: 1px solid rgb(224, 231, 241) !important;" "}" ); ui->lePassWord->setEchoMode(QLineEdit::Normal); ui->lePassWord->setPlaceholderText("请输入密码"); } } else if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); if (keyEvent->key() == Qt::Key_Enter || keyEvent->key() == Qt::Key_Return) { on_pbLogin_clicked(); } } } else if (obj == this) { if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); if (keyEvent->key() == Qt::Key_Escape || keyEvent->key() == Qt::Key_Enter || keyEvent->key() == Qt::Key_Return) { event->ignore(); return true; } } } return QWidget::eventFilter(obj, event); } void frmLogin::on_pbLogin_clicked() { this->setCursor(QCursor(Qt::WaitCursor)); if (ui->leUserName->text().isEmpty()) { this->setCursor(QCursor(Qt::ArrowCursor)); Msg::Show(this, "请输入账号!"); ui->leUserName->setFocus(); return; } if (ui->lePassWord->text().isEmpty()) { this->setCursor(QCursor(Qt::ArrowCursor)); Msg::Show(this, "请输入密码!"); ui->lePassWord->setFocus(); return; } int intReturn = SysDefine::NOTHING; QString strLoginName = ui->leUserName->text(); QString strLoginPassword = ui->lePassWord->text(); PkuApp::inst().CurrUser.Login_Name = strLoginName; PkuApp::inst().CurrUser.Password = strLoginPassword; // 根据账号密码获取token信息 BLLUser bllUser(PkuApp::inst().StrConnectionPath); intReturn = bllUser.getToken(strLoginName, strLoginPassword, PkuApp::inst().Token); if (SysDefine::FAILED == intReturn) { this->setCursor(QCursor(Qt::ArrowCursor)); if (bllUser.getErrorText() == "获取token失败") { Msg::Show(this, "账号或密码错误!"); } else { Msg::Show(this, bllUser.getErrorText()); } return; } if (PkuApp::inst().Token.isEmpty()) { this->setCursor(QCursor(Qt::ArrowCursor)); Msg::Show(this, "未获取到Token信息!"); ui->leUserName->setFocus(); return; } App::writeLog(QString("[frmLogin][on_pbLogin_clicked][已获取到token信息,账号:%1,密码:%2]").arg(strLoginName).arg(strLoginPassword)); // 根据token获取用户信息 intReturn = bllUser.getUserByToken(PkuApp::inst().Token, PkuApp::inst().CurrUser); if (SysDefine::FAILED == intReturn) { this->setCursor(QCursor(Qt::ArrowCursor)); Msg::Show(this, bllUser.getErrorText()); return; } if (PkuApp::inst().CurrUser.isEmpty()) { this->setCursor(QCursor(Qt::ArrowCursor)); Msg::Show(this, QString("用户%1的信息不存在!").arg(strLoginName)); return; } App::writeLog(QString("[frmLogin][on_pbLogin_clicked][已获取到用户信息]")); intReturn = bllUser.getDeptByToken(PkuApp::inst().Token, PkuApp::inst().CurrDept); if (SysDefine::FAILED == intReturn) { this->setCursor(QCursor(Qt::ArrowCursor)); Msg::Show(this, bllUser.getErrorText()); return; } if (PkuApp::inst().CurrDept.isEmpty()) { this->setCursor(QCursor(Qt::ArrowCursor)); Msg::Show(this, QString("用户%1的单位信息不存在!").arg(strLoginName)); return; } App::writeLog(QString("[frmLogin][on_pbLogin_clicked][已获取到用户单位信息]")); Sys_OwnerDept sysod; intReturn = bllUser.getDeptInfoById(PkuApp::inst().CurrDept.Dept_ID, sysod); if (SysDefine::FAILED == intReturn) { this->setCursor(QCursor(Qt::ArrowCursor)); Msg::Show(this, bllUser.getErrorText()); return; } if (!sysod.isEmpty()) { PkuApp::inst().CurrDept.CUnitID = sysod.dataOwnerDept.ownerDept2; PkuApp::inst().CurrDept.SUnitID = sysod.dataOwnerDept.ownerDept3; PkuApp::inst().CurrDept.TUnitID = sysod.dataOwnerDept.ownerDept4; PkuApp::inst().CurrDept.Data_CUnitID = sysod.dataOwnerDept.ownerDept2; PkuApp::inst().CurrDept.Data_SUnitID = sysod.dataOwnerDept.ownerDept3; PkuApp::inst().CurrDept.Data_TUnitID = sysod.dataOwnerDept.ownerDept4; } PkuApp::inst().CurrUser.Enter_Time = QDateTime::fromString(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"), "yyyy-MM-dd HH:mm:ss"); if (PkuApp::inst().CurrUser.Dept_Name.isEmpty()) { PkuApp::inst().CurrUser.Dept_Name = PkuApp::inst().CurrDept.Dept_Name; } XmlHandle xml; intReturn = xml.domSetPropertyValue(QString("Configuration/%1").arg(App_Const::LocalCFG::NodeName().LastLogin), App_Const::LocalCFG::AttribName().Value, strLoginName); if (SysDefine::FAILED == intReturn) { App::writeLog(QString("[frmLogin][on_pbLogin_clicked][设置LastLogin节点的Value属性值失败:%1]").arg(xml.getErrorText())); return; } // frmIDCheck *frmIDC = new frmIDCheck(); // frmIDC->showFullScreen(); ucAHInfoListWidget* frmANInfo = new ucAHInfoListWidget(); frmANInfo->showFullScreen(); this->setCursor(QCursor(Qt::ArrowCursor)); this->close(); } void frmLogin::on_pbClose_clicked() { this->close(); } //void frmLogin::on_pbDisplayPassword_clicked() //{ // //ui->pbDisplayPassword->setVisible(false); // ui->lePassWord->setEchoMode(QLineEdit::Normal); // //ui->pbHidePassword->setVisible(true); //} //void frmLogin::on_pbHidePassword_clicked() //{ // //ui->pbHidePassword->setVisible(false); // if (ui->lePassWord->text() != "请输入密码") // { // ui->lePassWord->setEchoMode(QLineEdit::Password); // } // //ui->pbDisplayPassword->setVisible(true); //} void frmLogin::on_pb_frmLogin_clicked() { } void frmLogin::on_pb_frmPKILogin_clicked() { } 初始化的时候,lePassWord的初始化状态字体颜色为黑色,需要将lePassWord的初始化状态字体颜色为rgb(224,231,241)
最新发布
08-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值