00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef __WVPAM_H
00014 #define __WVPAM_H
00015
00016 #include "wvstringlist.h"
00017 #include "wvlog.h"
00018
00019 class WvPamData;
00020
00021 class WvPam
00022 {
00023 private:
00024 bool init();
00025 WvPamData *d;
00026 WvLog log;
00027 WvString appname;
00028
00035 bool check_pam_status(WvStringParm step);
00036
00037 public:
00042 WvPam(WvStringParm svcname);
00043
00047 WvPam(WvStringParm svcname, WvStringParm rhost,
00048 WvStringParm user = WvString::null,
00049 WvStringParm password = WvString::null);
00050
00051 virtual ~WvPam();
00052
00056 bool authenticate(WvStringParm rhost = WvString::null,
00057 WvStringParm user = WvString::null,
00058 WvStringParm password = WvString::null);
00059
00064 void getgroups(WvStringList &groups) const;
00065
00069 WvString getuser() const;
00070
00074 WvError err;
00075 };
00076
00077 #endif // __WVPAM_H