Beispiel #1
0
	void WebUser::setPermissions(const StringList& aPermissions) noexcept {
		clearPermissions();
		for (const auto& p : aPermissions) {
			auto access = stringToAccess(p);
			if (access != Access::LAST) {
				permissions[access] = true;
			}
		}
	}
void PermissibleBase::recalculatePermissions()
{
	clearPermissions();
	std::vector<Permission *> defaults = ServerManager::getPluginManager()->getDefaultPermissions(isOp());
	ServerManager::getPluginManager()->subscribeToDefaultPerms(isOp(), parent);

	for (Permission *perm : defaults)
	{
		std::string name = SMUtil::toLower(perm->getName());
		permissions[name] = new PermissionAttachmentInfo(parent, name, NULL, true);
		ServerManager::getPluginManager()->subscribeToPermission(name, parent);
		calculateChildPermissions(perm->getChildren(), false, NULL);
	}

	for (size_t i = 0; i < attachments.size(); ++i)
		calculateChildPermissions(attachments[i]->getPermissions(), false, attachments[i]);
}
Beispiel #3
0
	WebUser::WebUser(const std::string& aUserName, const std::string& aPassword, bool aIsAdmin) : userName(aUserName), password(aPassword) {
		clearPermissions();
		if (aIsAdmin) {
			permissions[Access::ADMIN] = true;
		}
	}