123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #if !defined(AFX_USERMANAGER_H__80FCDEAE_C56D_4E25_998D_8BE0511F7C10__INCLUDED_)
- #define AFX_USERMANAGER_H__80FCDEAE_C56D_4E25_998D_8BE0511F7C10__INCLUDED_
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- #define FTP_DOWNLOAD 1
- #define FTP_UPLOAD 2
- #define FTP_RENAME 3
- #define FTP_DELETE 4
- #define FTP_CREATE_DIR 5
- #define FTP_LIST 6
- class CDirectory : public CObject
- {
- DECLARE_SERIAL(CDirectory)
- CDirectory();
- virtual ~CDirectory();
- public:
- virtual void Serialize(CArchive&);
- CDirectory (const CDirectory &dir); // copy-constructor
- CDirectory &operator=(const CDirectory &dir); // =-operator
- CString m_strDir; // 目录
- CString m_strAlias;
- BOOL m_bAllowDownload; // 可下载
- BOOL m_bAllowUpload; // 可上传
- BOOL m_bAllowRename; // 可重命名
- BOOL m_bAllowDelete; // 可删除
- BOOL m_bAllowCreateDirectory; // 可创建
- BOOL m_bIsHomeDir; // 是否为主目录
- };
- class CUser : public CObject
- {
- DECLARE_SERIAL(CUser)
- CUser();
- virtual ~CUser();
- public:
- virtual void Serialize(CArchive&);
- CUser (const CUser &user); // copy-constructor
- CUser &operator=(const CUser &user); // =-operator
- CString m_strName; // 帐户
- CString m_strPassword; // 密码
- CArray <CDirectory, CDirectory&> m_DirectoryArray;
- BOOL m_bAccountDisabled; // 是否帐户禁用
- };
- class CUserManager
- {
- public:
- CUserManager();
- virtual ~CUserManager();
- void GetUserList(CArray<CUser, CUser&>&array);
- void UpdateUserList(CArray<CUser, CUser&>&array);
- BOOL Serialize(BOOL bStoring);
- BOOL GetUser(LPCTSTR lpszUser, CUser &user);
- BOOL ConvertPathToLocal(LPCTSTR lpszUser, CString &strDirectoryIn, CString &strDirectoryOut);
- int CheckDirectory(LPCTSTR lpszUser, CString dirname, CString strCurrentdir, int nOption, CString &strResult);
- int CheckFileName(LPCTSTR lpszUser, CString filename, CString strCurrentdir, int nOption, CString &strResult);
- int ChangeDirectory(LPCTSTR lpszUser, CString ¤tdir, CString &dir);
- int GetDirectoryList(LPCTSTR lpszUser, LPCTSTR lpszDirectory, CString &strResult);
- BOOL FileExists(LPCTSTR lpszFileName, const int bIsDirCheck = 1);
- protected:
- BOOL CheckAccessRights(LPCTSTR lpszUser, LPCTSTR lpszDirectory, int nOption);
- CString GetFileDate(CFileFind &find);
- public:
- CArray<CUser, CUser&> m_UserArray;
- protected:
- CString m_strFilename;
- CCriticalSection m_CriticalSection;
- };
- #endif // !defined(AFX_USERMANAGER_H__80FCDEAE_C56D_4E25_998D_8BE0511F7C10__INCLUDED_)
|