use of com.bonree.brfs.authentication.model.UserModel in project BRFS by zhangnianli.
the class SimpleAuthentication method auth.
/**
* 概述:使用token进行验证,本次只验证用户名和密码,其他的权限验证暂时没做
* @param token
* @return
* @user <a href=mailto:weizheng@bonree.com>魏征</a>
*/
public boolean auth(String token) {
String[] userPasswd = token.split(SEPARATOR_TOKEN);
String userName = userPasswd[0];
String passwd = userPasswd[1];
UserModel user = userCache.get(userName);
if (user != null) {
if (org.apache.commons.lang3.StringUtils.equals(passwd, user.getPasswd())) {
return true;
}
}
return false;
}
use of com.bonree.brfs.authentication.model.UserModel in project BRFS by zhangnianli.
the class ZookeeperUserOperation method getUserList.
@Override
public List<UserModel> getUserList() {
List<UserModel> userList = new ArrayList<>();
List<String> userNameList = curatorClient.getChildren(basePath);
if (userNameList != null && userNameList.size() > 0) {
for (String userName : userNameList) {
UserModel user = getUser(userName);
userList.add(user);
}
}
return userList;
}
use of com.bonree.brfs.authentication.model.UserModel in project BRFS by zhangnianli.
the class ServerMain method main.
public static void main(String[] args) {
ProcessFinalizer finalizer = new ProcessFinalizer();
try {
ResourceTaskConfig resourceConfig = ResourceTaskConfig.parse();
// 初始化email发送配置
EmailPool.getInstance();
String zkAddresses = Configs.getConfiguration().GetConfig(CommonConfigs.CONFIG_ZOOKEEPER_ADDRESSES);
CuratorClient leaderClient = CuratorClient.getClientInstance(zkAddresses, 1000, 1000);
CuratorClient client = CuratorClient.getClientInstance(zkAddresses);
CuratorCacheFactory.init(zkAddresses);
ZookeeperPaths zookeeperPaths = ZookeeperPaths.create(Configs.getConfiguration().GetConfig(CommonConfigs.CONFIG_CLUSTER_NAME), zkAddresses);
SimpleAuthentication authentication = SimpleAuthentication.getAuthInstance(zookeeperPaths.getBaseUserPath(), zookeeperPaths.getBaseLocksPath(), client.getInnerClient());
UserModel model = authentication.getUser("root");
if (model == null) {
LOG.error("please init server!!!");
System.exit(1);
}
ServerIDManager idManager = new ServerIDManager(client.getInnerClient(), zookeeperPaths);
idManager.getFirstServerID();
StorageRegionManager snManager = new DefaultStorageRegionManager(client.getInnerClient().usingNamespace(zookeeperPaths.getBaseClusterName().substring(1)), null);
snManager.addStorageRegionStateListener(new StorageRegionStateListener() {
@Override
public void storageRegionAdded(StorageRegion node) {
LOG.info("-----------StorageNameAdded--[{}]", node);
idManager.getSecondServerID(node.getId());
}
@Override
public void storageRegionUpdated(StorageRegion node) {
}
@Override
public void storageRegionRemoved(StorageRegion node) {
LOG.info("-----------StorageNameRemove--[{}]", node);
idManager.deleteSecondServerID(node.getId());
}
});
snManager.start();
finalizer.add(snManager);
ServiceManager sm = new DefaultServiceManager(client.getInnerClient().usingNamespace(zookeeperPaths.getBaseClusterName().substring(1)));
sm.start();
finalizer.add(sm);
// 磁盘管理模块
// EmptyMain diskMain = new EmptyMain(sm);
// diskMain.start();
//
// finalizer.add(diskMain);
DataNodeBootStrap dataNodeBootStrap = new DataNodeBootStrap(sm);
dataNodeBootStrap.start();
finalizer.add(dataNodeBootStrap);
// 副本平衡模块
sm.addServiceStateListener(Configs.getConfiguration().GetConfig(CommonConfigs.CONFIG_DATA_SERVICE_GROUP_NAME), new ServerChangeTaskGenetor(leaderClient, client, sm, idManager, zookeeperPaths.getBaseRebalancePath(), 3000, snManager));
@SuppressWarnings("resource") RebalanceManager rebalanceServer = new RebalanceManager(zookeeperPaths, idManager, snManager, sm);
rebalanceServer.start();
String host = Configs.getConfiguration().GetConfig(DataNodeConfigs.CONFIG_HOST);
int port = Configs.getConfiguration().GetConfig(DataNodeConfigs.CONFIG_PORT);
int readPort = Configs.getConfiguration().GetConfig(DataNodeConfigs.CONFIG_FILE_PORT);
Service selfService = new Service();
selfService.setHost(host);
selfService.setPort(port);
selfService.setExtraPort(readPort);
selfService.setServiceGroup(Configs.getConfiguration().GetConfig(CommonConfigs.CONFIG_DATA_SERVICE_GROUP_NAME));
String serviceId = idManager.getFirstServerID();
selfService.setServiceId(serviceId);
Service checkService = sm.getServiceById(Configs.getConfiguration().GetConfig(CommonConfigs.CONFIG_DATA_SERVICE_GROUP_NAME), serviceId);
if (checkService == null) {
sm.registerService(selfService);
System.out.println(selfService);
} else {
LOG.error("serviceId : {} is exists, system will exit!!!", serviceId);
System.exit(1);
}
finalizer.add(new Closeable() {
@Override
public void close() throws IOException {
try {
sm.unregisterService(selfService);
} catch (Exception e) {
LOG.error("unregister service[{}] error", selfService, e);
}
}
});
// 资源管理模块
InitTaskManager.initManager(resourceConfig, zookeeperPaths, sm, snManager, idManager, client);
} catch (Exception e) {
LOG.error("launch server error!!!", e);
System.exit(1);
} finally {
Runtime.getRuntime().addShutdownHook(finalizer);
}
}
use of com.bonree.brfs.authentication.model.UserModel in project BRFS by zhangnianli.
the class InitServer method main.
public static void main(String[] args) {
try {
String zkAddresses = Configs.getConfiguration().GetConfig(CommonConfigs.CONFIG_ZOOKEEPER_ADDRESSES);
CuratorClient client = CuratorClient.getClientInstance(zkAddresses);
ZookeeperPaths zookeeperPaths = ZookeeperPaths.create(Configs.getConfiguration().GetConfig(CommonConfigs.CONFIG_CLUSTER_NAME), zkAddresses);
CuratorCacheFactory.init(zkAddresses);
String passwd = null;
Scanner sc = new Scanner(System.in);
Thread.sleep(500);
while (true) {
System.out.println("please input root user's password:");
passwd = sc.nextLine();
if (StringUtils.isEmpty(passwd)) {
System.out.println("password is empty!!");
} else if (passwd.length() < 5) {
System.out.println("password less 5 size!!");
} else {
System.out.println("password setup successfully!!");
break;
}
}
SimpleAuthentication authentication = SimpleAuthentication.getAuthInstance(zookeeperPaths.getBaseUserPath(), zookeeperPaths.getBaseLocksPath(), client.getInnerClient());
UserModel user = new UserModel("root", passwd, (byte) 0);
authentication.createUser(user);
System.out.println("init server successfully!!");
sc.close();
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}
use of com.bonree.brfs.authentication.model.UserModel in project BRFS by zhangnianli.
the class ZookeeperUserOperation method getUser.
@Override
public UserModel getUser(String userName) {
CuratorClient client = CuratorClient.getClientInstance(zkUrl);
try {
String userNode = basePath + SEPARATOR + userName;
String jsonStr = new String(client.getData(userNode));
UserModel user = JSON.parseObject(jsonStr, UserModel.class);
return user;
} finally {
client.close();
}
}
Aggregations