Search in sources :

Example 1 with UserModel

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;
}
Also used : UserModel(com.bonree.brfs.authentication.model.UserModel)

Example 2 with UserModel

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;
}
Also used : UserModel(com.bonree.brfs.authentication.model.UserModel) ArrayList(java.util.ArrayList)

Example 3 with UserModel

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);
    }
}
Also used : Closeable(java.io.Closeable) CuratorClient(com.bonree.brfs.common.zookeeper.curator.CuratorClient) Service(com.bonree.brfs.common.service.Service) RebalanceManager(com.bonree.brfs.rebalance.RebalanceManager) IOException(java.io.IOException) ResourceTaskConfig(com.bonree.brfs.configuration.ResourceTaskConfig) ServerIDManager(com.bonree.brfs.server.identification.ServerIDManager) StorageRegion(com.bonree.brfs.duplication.storageregion.StorageRegion) IOException(java.io.IOException) UserModel(com.bonree.brfs.authentication.model.UserModel) DefaultServiceManager(com.bonree.brfs.common.service.impl.DefaultServiceManager) DataNodeBootStrap(com.bonree.brfs.disknode.boot.DataNodeBootStrap) ZookeeperPaths(com.bonree.brfs.common.ZookeeperPaths) DefaultServiceManager(com.bonree.brfs.common.service.impl.DefaultServiceManager) ServiceManager(com.bonree.brfs.common.service.ServiceManager) ServerChangeTaskGenetor(com.bonree.brfs.rebalance.task.ServerChangeTaskGenetor) SimpleAuthentication(com.bonree.brfs.authentication.SimpleAuthentication) ProcessFinalizer(com.bonree.brfs.common.process.ProcessFinalizer) DefaultStorageRegionManager(com.bonree.brfs.duplication.storageregion.impl.DefaultStorageRegionManager) StorageRegionManager(com.bonree.brfs.duplication.storageregion.StorageRegionManager) DefaultStorageRegionManager(com.bonree.brfs.duplication.storageregion.impl.DefaultStorageRegionManager) StorageRegionStateListener(com.bonree.brfs.duplication.storageregion.StorageRegionStateListener)

Example 4 with UserModel

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);
    }
}
Also used : UserModel(com.bonree.brfs.authentication.model.UserModel) Scanner(java.util.Scanner) ZookeeperPaths(com.bonree.brfs.common.ZookeeperPaths) CuratorClient(com.bonree.brfs.common.zookeeper.curator.CuratorClient) SimpleAuthentication(com.bonree.brfs.authentication.SimpleAuthentication)

Example 5 with UserModel

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();
    }
}
Also used : UserModel(com.bonree.brfs.authentication.model.UserModel) CuratorClient(com.bonree.brfs.common.zookeeper.curator.CuratorClient)

Aggregations

UserModel (com.bonree.brfs.authentication.model.UserModel)7 CuratorClient (com.bonree.brfs.common.zookeeper.curator.CuratorClient)4 SimpleAuthentication (com.bonree.brfs.authentication.SimpleAuthentication)3 ZookeeperPaths (com.bonree.brfs.common.ZookeeperPaths)3 ProcessFinalizer (com.bonree.brfs.common.process.ProcessFinalizer)2 Service (com.bonree.brfs.common.service.Service)2 ServiceManager (com.bonree.brfs.common.service.ServiceManager)2 DefaultServiceManager (com.bonree.brfs.common.service.impl.DefaultServiceManager)2 HttpConfig (com.bonree.brfs.common.net.http.HttpConfig)1 HttpAuthenticator (com.bonree.brfs.common.net.http.netty.HttpAuthenticator)1 NettyHttpRequestHandler (com.bonree.brfs.common.net.http.netty.NettyHttpRequestHandler)1 NettyHttpServer (com.bonree.brfs.common.net.http.netty.NettyHttpServer)1 AsyncTcpClientGroup (com.bonree.brfs.common.net.tcp.client.AsyncTcpClientGroup)1 TimeExchangeEventEmitter (com.bonree.brfs.common.timer.TimeExchangeEventEmitter)1 PooledThreadFactory (com.bonree.brfs.common.utils.PooledThreadFactory)1 ResourceTaskConfig (com.bonree.brfs.configuration.ResourceTaskConfig)1 DataNodeBootStrap (com.bonree.brfs.disknode.boot.DataNodeBootStrap)1 FilePathMaker (com.bonree.brfs.duplication.datastream.FilePathMaker)1 IDFilePathMaker (com.bonree.brfs.duplication.datastream.IDFilePathMaker)1 TcpDiskNodeConnectionPool (com.bonree.brfs.duplication.datastream.connection.tcp.TcpDiskNodeConnectionPool)1