10 #include <QLoggingCategory> 11 #include <QTemporaryFile> 21 StoreHtpasswd::~StoreHtpasswd()
27 const QString username = user.
value(QStringLiteral(
"username"));
32 qCWarning(CUTELYST_UTILS_AUTH) <<
"Failed to open temporary file for writing";
37 QFile file(m_filename);
39 while (!file.
atEnd()) {
44 user.
value(QStringLiteral(
"password")).toLatin1().replace(
':',
',') +
'\n';
54 user.
value(QStringLiteral(
"password")).toLatin1().replace(
':',
',') +
60 qCWarning(CUTELYST_UTILS_AUTH) <<
"Failed to remove auth file for replacement";
64 if (!tmp.
rename(m_filename)) {
65 qCWarning(CUTELYST_UTILS_AUTH) <<
"Failed to rename temporary file";
73 const QString username = userInfo.
value(QStringLiteral(
"username"));
75 QFile file(m_filename);
77 while (!file.
atEnd()) {
80 if (parts.
size() >= 2 && !parts.
first().startsWith(
'#') &&
82 ret.insert(QStringLiteral(
"username"), username);
85 ret.insert(QStringLiteral(
"password"),
105 #include "moc_htpasswd.cpp" bool rename(const QString &newName)
void setId(const QVariant &id)
Sets the unique user id restored from the store.
void addUser(const ParamsMultiMap &user)
QList< QByteArray > split(char sep) const const
QByteArray trimmed() const const
bool exists(const QString &fileName)
const_reference at(qsizetype i) const const
qsizetype size() const const
void setAutoRemove(bool b)
QByteArray & replace(QByteArrayView before, QByteArrayView after)
virtual AuthenticationUser fromSession(Context *c, const QVariant &frozenUser) final
qint64 write(const QByteArray &data)
virtual QVariant forSession(Context *c, const AuthenticationUser &user) final
The Cutelyst namespace holds all public Cutelyst API.
virtual bool atEnd() const const override
QString fromLatin1(QByteArrayView str)
QByteArray toLatin1() const const
virtual void close() override
QByteArray readLine(qint64 maxSize)
bool open(FILE *fh, OpenMode mode, FileHandleFlags handleFlags)
StoreHtpasswd(const QString &name, QObject *parent=nullptr)
QString toString() const const
virtual AuthenticationUser findUser(Context *c, const ParamsMultiMap &userInfo) final
T value(const Key &key, const T &defaultValue) const const