]> git.ipfire.org Git - thirdparty/squid.git/blame - src/auth/basic/User.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / auth / basic / User.h
CommitLineData
bbc27441
AJ
1/*
2 * Copyright (C) 1996-2014 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
aa110616
AJ
9#ifndef _SQUID_AUTH_BASIC_USER_H
10#define _SQUID_AUTH_BASIC_USER_H
11
12#include "auth/User.h"
13#include "auth/UserRequest.h"
14
aa110616
AJ
15namespace Auth
16{
17
18class Config;
bf929433 19class QueueNode;
aa110616
AJ
20
21namespace Basic
22{
23
24/** User credentials for the Basic authentication protocol */
25class User : public Auth::User
26{
aa110616
AJ
27 MEMPROXY_CLASS(Auth::Basic::User);
28
741c2986 29public:
d4806c91 30 User(Auth::Config *, const char *requestRealm);
aa110616
AJ
31 ~User();
32 bool authenticated() const;
aa110616 33 bool valid() const;
de76457e 34
aa110616
AJ
35 /** Update the cached password for a username. */
36 void updateCached(User *from);
37 virtual int32_t ttl() const;
38
39 char *passwd;
40
bf929433 41 QueueNode *queue;
aa110616
AJ
42
43private:
c7baff40 44 Auth::UserRequest::Pointer currentRequest;
aa110616
AJ
45};
46
aa110616
AJ
47} // namespace Basic
48} // namespace Auth
49
50#endif /* _SQUID_AUTH_BASIC_USER_H */
f53969cc 51