| 1234567891011121314151617181920212223242526272829 |
- #ifndef PERMISSION_H
- #define PERMISSION_H
- #include <QString>
- #include <QMap>
- #include <QSet>
- #include "user.h"
- #include "role.h"
- class PermissionManager {
- public:
- static PermissionManager& getInstance();
- void addRole(const Role& role);
- void removeRole(const QString& roleName);
- Role* getRole(const QString& roleName);
- bool checkPermission(const User& user, const QString& permission) const;
- QSet<QString> getAllPermissions() const;
- private:
- PermissionManager() = default;
- PermissionManager(const PermissionManager&) = delete;
- PermissionManager& operator=(const PermissionManager&) = delete;
- QMap<QString, Role> m_roles;
- QSet<QString> m_allPermissions;
- };
- #endif // PERMISSION_H
|