| | |
| | |
|
| | | /**
|
| | | * Implementation of a Windows user service.
|
| | | * |
| | | *
|
| | | * @author James Moger
|
| | | */
|
| | | public class WindowsUserService extends GitblitUserService {
|
| | |
| | | private final Logger logger = LoggerFactory.getLogger(WindowsUserService.class);
|
| | |
|
| | | private IStoredSettings settings;
|
| | | |
| | |
|
| | | private IWindowsAuthProvider waffle;
|
| | |
|
| | | public WindowsUserService() {
|
| | |
| | |
|
| | | serviceImpl = createUserService(realmFile);
|
| | | logger.info("Windows User Service backed by " + serviceImpl.toString());
|
| | | |
| | |
|
| | | waffle = new WindowsAuthProviderImpl();
|
| | | IWindowsComputer computer = waffle.getCurrentComputer();
|
| | | logger.info(" name = " + computer.getComputerName());
|
| | |
| | | logger.info(" memberOf = " + computer.getMemberOf());
|
| | | //logger.info(" groups = " + Arrays.asList(computer.getGroups()));
|
| | | }
|
| | | |
| | |
|
| | | protected String describeJoinStatus(String value) {
|
| | | if ("NetSetupUnknownStatus".equals(value)) {
|
| | | return "unknown";
|
| | |
| | | public boolean supportsTeamMembershipChanges() {
|
| | | return true;
|
| | | }
|
| | | |
| | |
|
| | | @Override
|
| | | protected AccountType getAccountType() {
|
| | | return AccountType.WINDOWS;
|
| | |
| | | identity.dispose();
|
| | | return null;
|
| | | }
|
| | | |
| | |
|
| | | UserModel user = getUserModel(username);
|
| | | if (user == null) // create user object for new authenticated user
|
| | | user = new UserModel(username.toLowerCase());
|
| | |
| | | for (IWindowsAccount group : identity.getGroups()) {
|
| | | groupNames.add(group.getFqn());
|
| | | }
|
| | | |
| | |
|
| | | if (groupNames.contains("BUILTIN\\Administrators")) {
|
| | | // local administrator
|
| | | user.canAdmin = true;
|
| | | }
|
| | | |
| | |
|
| | | // TODO consider mapping Windows groups to teams
|
| | |
|
| | | // push the changes to the backing user service
|
| | |
| | |
|
| | | // cleanup resources
|
| | | identity.dispose();
|
| | | |
| | |
|
| | | return user;
|
| | | }
|
| | | }
|