UWP應用程序是沙盒,因此在用戶權限級別或系統上沒有提供任何信息他們屬於的團體。最值得推薦的是存儲第一個登錄用戶的用戶名,然後檢查當前通過身份驗證的用戶名和域是否與存儲的值匹配(這樣你也可以避免輸入用戶名/密碼並向普通用戶顯示管理員頁面/登錄)。
IReadOnlyList<User> localAuthenticatedUsers = await User.FindAllAsync(UserType.LocalUser, UserAuthenticationStatus.LocallyAuthenticated);
User user = users.FirstOrDefault();
if (user != null)
{
String[] userProperties = new String[]
{
KnownUserProperties.AccountName,
KnownUserProperties.DomainName
};
IPropertySet values = await user.GetPropertiesAsync(desiredProperties);
if (values[KnownUserProperties.AccountName] == storedAccountName && values[KnownUserProperties.DomainName] == storedDomainName) {
...
}
}
但是這種方法不允許驗證在同一臺機器上的多個管理員。作爲一項解決方案,您可以在管理頁面/設置中的某處維護已批准用戶的列表。
可能的重複:http://stackoverflow.com/questions/36713824/how-to-get-group-infolike-guest-admin-etc-of-current-login-user-in-uwp-windo – Konstantin