Commit 279ae369 authored by bartfab@chromium.org's avatar bartfab@chromium.org

Correct user affiliation for enterprise-managed device-local accounts

This CL sets the user affiliation of enterprise-managed device-local
accounts to USER_AFFILIATION_MANAGED instead of USER_AFFILIATION_NONE.

BUG=None

Review URL: https://chromiumcodereview.appspot.com/15792017

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204055 0039d316-1c4b-4281-b951-d872f2087c98
parent e5a440cf
......@@ -8,6 +8,7 @@
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "base/string_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/values.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
......@@ -56,6 +57,12 @@ std::string GenerateDeviceLocalAccountUserId(const std::string& account_id,
domain_prefix + kDeviceLocalAccountDomainSuffix;
}
bool IsDeviceLocalAccountUser(const std::string& user_id) {
return EndsWith(gaia::ExtractDomainName(user_id),
kDeviceLocalAccountDomainSuffix,
true);
}
bool IsKioskAppUser(const std::string& user_id) {
return gaia::ExtractDomainName(user_id) ==
std::string(kKioskAppAccountDomainPrefix) +
......
......@@ -42,6 +42,8 @@ struct DeviceLocalAccount {
std::string GenerateDeviceLocalAccountUserId(const std::string& account_id,
DeviceLocalAccount::Type type);
bool IsDeviceLocalAccountUser(const std::string& user_id);
bool IsKioskAppUser(const std::string& user_id);
// Stores a list of device-local accounts in |cros_settings|. The accounts are
......
......@@ -55,6 +55,7 @@
#include "chrome/browser/chromeos/policy/app_pack_updater.h"
#include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
#include "chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.h"
#include "chrome/browser/chromeos/policy/device_local_account.h"
#include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
#include "chrome/browser/chromeos/policy/device_status_collector.h"
#include "chrome/browser/chromeos/policy/enterprise_install_attributes.h"
......@@ -312,8 +313,9 @@ UserAffiliation BrowserPolicyConnector::GetUserAffiliation(
if (user_name.empty() || user_name.find('@') == std::string::npos)
return USER_AFFILIATION_NONE;
if (install_attributes_ &&
gaia::ExtractDomainName(gaia::CanonicalizeEmail(user_name)) ==
install_attributes_->GetDomain()) {
(gaia::ExtractDomainName(gaia::CanonicalizeEmail(user_name)) ==
install_attributes_->GetDomain() ||
policy::IsDeviceLocalAccountUser(user_name))) {
return USER_AFFILIATION_MANAGED;
}
#endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment