Example usage for org.apache.shiro.realm SimpleAccountRealm SimpleAccountRealm

List of usage examples for org.apache.shiro.realm SimpleAccountRealm SimpleAccountRealm

Introduction

In this page you can find the example usage for org.apache.shiro.realm SimpleAccountRealm SimpleAccountRealm.

Prototype

public SimpleAccountRealm() 

Source Link

Usage

From source file:de.scoopgmbh.copper.monitoring.example.MonitoringExampleMain.java

License:Apache License

public MonitoringExampleMain start(String[] args) {
    boolean unsecure = Boolean.getBoolean("unsecureCopperMonitoring");
    LogManager.getRootLogger().setLevel(Level.INFO);
    System.out.println("Copper monitoring using " + (unsecure ? "un" : "") + "secure remote invocation.");

    FileBasedWorkflowRepository wfRepository = new FileBasedWorkflowRepository();
    wfRepository.setTargetDir("build/classes/test");

    System.out.println(new File(".").getAbsolutePath());
    File srcDir = new File("src/main/java"); //eclipse
    if (!srcDir.exists()) {
        srcDir = new File("./projects/copper-monitoring/copper-monitoring-example/src/main/java");//idea
    }//from  w ww. j av a 2s  .  c  om
    System.out.println(srcDir.getAbsolutePath());
    wfRepository.setSourceDirs(Arrays.asList(srcDir.getAbsolutePath()));
    wfRepository.start();
    //wfRepository.shutdown

    LoggingStatisticCollector runtimeStatisticsCollector = new LoggingStatisticCollector();
    runtimeStatisticsCollector.start();
    //statisticsCollector.shutdown();

    DatabaseData databaseData = setupDerbyDatabase(wfRepository, runtimeStatisticsCollector);
    //      DatabaseData databaseData = setupOracleDatabase(wfRepository,runtimeStatisticsCollector);

    BatcherImpl batcher = new BatcherImpl(3);
    batcher.setStatisticsCollector(runtimeStatisticsCollector);

    @SuppressWarnings("rawtypes")
    RetryingTxnBatchRunner batchRunner = new RetryingTxnBatchRunner();
    batchRunner.setDataSource(databaseData.dataSource);
    batcher.setBatchRunner(batchRunner);
    batcher.startup();
    //batcherImpl.shutdown();

    CopperTransactionController txnController = new CopperTransactionController();
    txnController.setDataSource(databaseData.dataSource);

    ScottyDBStorage persistentdbStorage = new ScottyDBStorage();
    persistentdbStorage.setTransactionController(txnController);
    persistentdbStorage.setDialect(databaseData.databaseDialect);
    persistentdbStorage.setBatcher(batcher);
    persistentdbStorage.setCheckDbConsistencyAtStartup(true);

    PersistentPriorityProcessorPool persistentPriorityProcessorPool = new PersistentPriorityProcessorPool(
            PersistentProcessorPool.DEFAULT_POOL_ID, txnController);

    PersistentScottyEngine persistentengine = new PersistentScottyEngine();
    persistentengine.setIdFactory(new JdkRandomUUIDFactory());
    persistentengine.setDbStorage(persistentdbStorage);
    persistentengine.setWfRepository(wfRepository);
    persistentengine.setEngineIdProvider(ENGINE_ID_PROVIDER);
    persistentengine.setStatisticsCollector(runtimeStatisticsCollector);

    DefaultProcessorPoolManager<PersistentPriorityProcessorPool> defaultProcessorPoolManager = new DefaultProcessorPoolManager<PersistentPriorityProcessorPool>();
    defaultProcessorPoolManager.setProcessorPools(Arrays.asList(persistentPriorityProcessorPool));
    defaultProcessorPoolManager.setEngine(persistentengine);

    persistentengine.setProcessorPoolManager(defaultProcessorPoolManager);
    //persistentengine.shutdown();

    BatchingAuditTrail auditTrail = new BatchingAuditTrail();
    auditTrail.setBatcher(batcher);
    auditTrail.setDataSource(databaseData.dataSource);
    auditTrail.setMessagePostProcessor(new CompressedBase64PostProcessor());
    try {
        auditTrail.startup();
    } catch (Exception e) {
        throw new RuntimeException(e);
    }

    PojoDependencyInjector dependyInjector = new PojoDependencyInjector();
    MonitoringDataStorage monitoringDataStorage;
    try {
        monitoringDataStorage = new MonitoringDataStorage(File.createTempFile("test", ".tmp").getParentFile(),
                "copperMonitorLog");
    } catch (IOException e1) {
        throw new RuntimeException(e1);
    }
    final MonitoringDataAccessQueue monitoringQueue = new MonitoringDataAccessQueue(
            new MonitoringDataAccesor(monitoringDataStorage), new MonitoringDataAdder(monitoringDataStorage));

    final MonitoringDataCollector monitoringDataCollector = new MonitoringDataCollector(monitoringQueue);
    MonitoringDependencyInjector monitoringDependencyInjector = new MonitoringDependencyInjector(
            dependyInjector, monitoringDataCollector);
    BillAdapterImpl billAdapterImpl = new BillAdapterImpl(monitoringDataCollector);
    billAdapterImpl.initWithEngine(
            new MonitoringAdapterProcessingEngine(billAdapterImpl, persistentengine, monitoringDataCollector));
    dependyInjector.register("billAdapter", billAdapterImpl);
    dependyInjector.register("auditTrail", auditTrail);

    persistentengine.setDependencyInjector(monitoringDependencyInjector);
    persistentengine.startup();

    try {
        persistentengine.run("BillWorkflow", "");
    } catch (CopperException e) {
        throw new RuntimeException(e);
    }

    List<ProcessingEngineMXBean> engines = new ArrayList<ProcessingEngineMXBean>();
    engines.add(persistentengine);

    WorkflowInstanceIntrospector introspector = new WorkflowInstanceIntrospector(persistentdbStorage,
            wfRepository);

    final MonitoringLogbackDataProvider monitoringLogbackDataProvider = new MonitoringLogbackDataProvider(
            monitoringDataCollector);
    final MonitoringDataProviderManager monitoringDataProviderManager = new MonitoringDataProviderManager(
            new SystemRessourceDataProvider(monitoringDataCollector), monitoringLogbackDataProvider,
            new GcDataProvider(monitoringDataCollector));
    monitoringDataProviderManager.startAll();
    CopperMonitoringService copperMonitoringService = new DefaultCopperMonitoringService(
            new MonitoringDbStorage(txnController,
                    new DerbyMonitoringDbDialect(new StandardJavaSerializer(),
                            new CompressedBase64PostProcessor(), auditTrail)),
            runtimeStatisticsCollector, engines, monitoringQueue, true, introspector,
            new LogbackConfigManager(monitoringLogbackDataProvider), monitoringDataProviderManager);

    String host = (args.length > 0) ? args[0] : "localhost";
    int port = (args.length > 1) ? Integer.parseInt(args[1]) : 8080;

    CopperMonitoringService monitoringService;
    LoginService loginService;
    RemoteInvocationExecutor remoteInvocationExecutor;
    if (unsecure) {
        monitoringService = CopperMonitorServiceDefaultProxy.getServiceProxy(copperMonitoringService);
        loginService = new DefaultLoginService();
        remoteInvocationExecutor = new DefaultRemoteInvocationExecutor();
    } else {
        monitoringService = CopperMonitorServiceSecurityProxy.secure(copperMonitoringService);
        final SimpleAccountRealm realm = new SimpleAccountRealm();
        realm.addAccount("user1", "pass1");
        loginService = new SecureLoginService(realm);
        remoteInvocationExecutor = new SecureRemoteInvocationExecutor();
    }
    SpringRemotingServer springRemotingServer = new SpringRemotingServer(monitoringService, port, host,
            loginService);
    springRemotingServer.setRemoteInvocationExecutor(remoteInvocationExecutor);
    springRemotingServer.start();

    return this;
}

From source file:de.scoopgmbh.copper.monitoring.server.SpringRemotingServerTest.java

License:Apache License

@BeforeClass
public static void before() {
    LogManager.getRootLogger().setLevel(Level.INFO);
    new LogbackFixture().assertNoError(new NoErrorLogContentAssertion() {
        SpringRemotingServer springRemotingServer;

        @Override/*w w w  .j  av a 2s.c  o  m*/
        public void executeLogCreatingAction() {
            FutureTask<Void> futureTask = new FutureTask<Void>(new Runnable() {
                @Override
                public void run() {
                    final SimpleAccountRealm realm = new SimpleAccountRealm();
                    realm.addAccount("user1", "pass1");
                    springRemotingServer = new SpringRemotingServer(
                            CopperMonitorServiceSecurityProxy
                                    .secure(Mockito.mock(CopperMonitoringService.class)),
                            8087, "localhost", new SecureLoginService(realm));
                    springRemotingServer.start();
                }
            }, null);

            Thread thread = new Thread(futureTask);
            thread.start();

            try {
                futureTask.get();//dont swallow exception instead fail test
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            } catch (ExecutionException e) {
                throw new RuntimeException(e);
            }
        }
    });
}

From source file:org.copperengine.monitoring.example.ApplicationContext.java

License:Apache License

public SpringRemotingServer createServer(String host, int port, boolean unsecure) {
    createCopperCore();/*from w  w  w.  j  av a 2s .c  om*/
    createMonitoring();

    CopperMonitoringService copperMonitoringService = new DefaultCopperMonitoringService(
            new MonitoringDbStorage(txnController, getMonitoringDbDialect()), loggingStatisticsCollector,
            Arrays.<ProcessingEngineMXBean>asList(persistentengine), monitoringQueue, true,
            workflowInstanceIntrospector, new LogbackConfigManager(monitoringLogbackDataProvider),
            monitoringDataProviderManager);

    CopperMonitoringService monitoringService;
    LoginService loginService;
    RemoteInvocationExecutor remoteInvocationExecutor;
    if (unsecure) {
        monitoringService = CopperMonitorServiceDefaultProxy.getServiceProxy(copperMonitoringService);
        loginService = new DefaultLoginService();
        remoteInvocationExecutor = new DefaultRemoteInvocationExecutor();
    } else {
        monitoringService = CopperMonitorServiceSecurityProxy.secure(copperMonitoringService);
        final SimpleAccountRealm realm = new SimpleAccountRealm();
        realm.addAccount("user1", "pass1");
        loginService = new SecureLoginService(realm);
        remoteInvocationExecutor = new SecureRemoteInvocationExecutor();
    }
    SpringRemotingServer springRemotingServer = new SpringRemotingServer(monitoringService, port, host,
            loginService);
    springRemotingServer.setRemoteInvocationExecutor(remoteInvocationExecutor);
    return springRemotingServer;
}

From source file:org.copperengine.monitoring.server.SpringRemotingServerTest.java

License:Apache License

@BeforeClass
public static void before() {
    LogManager.getRootLogger().setLevel(Level.INFO);
    new LogbackFixture().assertNoError(new NoErrorLogContentAssertion() {
        SpringRemotingServer springRemotingServer;

        @Override/*from   w ww. j a  va 2  s.c o m*/
        public void executeLogCreatingAction() {
            FutureTask<Void> futureTask = new FutureTask<Void>(new Runnable() {
                @Override
                public void run() {
                    final SimpleAccountRealm realm = new SimpleAccountRealm();
                    realm.addAccount("user1", "pass1");
                    springRemotingServer = new SpringRemotingServer(
                            CopperMonitorServiceSecurityProxy
                                    .secure(Mockito.mock(CopperMonitoringService.class)),
                            8087, "localhost", new SecureLoginService(realm));
                    springRemotingServer.start();
                }
            }, null);

            Thread thread = new Thread(futureTask);
            thread.start();

            try {
                futureTask.get();// dont swallow exception instead fail test
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            } catch (ExecutionException e) {
                throw new RuntimeException(e);
            }
        }
    });
}

From source file:org.obiba.opal.web.security.SecurityResourceTest.java

License:Open Source License

@Before
public void setUp() throws URISyntaxException {
    mockSecurityManager = new DefaultSecurityManager();
    mockRealm = new SimpleAccountRealm();
    mockSecurityManager.setRealm(mockRealm);

    SecurityUtils.setSecurityManager(mockSecurityManager);

    securityResource = new AuthenticationResource(mockSecurityManager);
}

From source file:org.panifex.security.shiro.env.ModularWebEnvironment.java

License:Open Source License

/**
 * Synchronizes the realm's map with the security manager.
 *//* w w w.  jav  a  2 s .co  m*/
protected final void synchronizeRealms() {
    RealmSecurityManager securityManager = (RealmSecurityManager) getSecurityManager();

    if (securityManager != null) {
        if (!realms.isEmpty()) {
            securityManager.setRealms(realms.values());
        } else {
            // bind simple realm because it should be at least one realm
            securityManager.setRealm(new SimpleAccountRealm());
        }
    } else {
        log.warn("Realm security manager is not available. Realms is not updated");
    }
}

From source file:org.sonatype.nexus.security.NexusHttpAuthenticationFilterTest.java

License:Open Source License

@Before
public void bindSubjectToThread() {
    // setup a simple realm for authc
    SimpleAccountRealm simpleAccountRealm = new SimpleAccountRealm();
    simpleAccountRealm.addAccount("anonymous", "anonymous");
    DefaultSecurityManager securityManager = new DefaultSecurityManager();
    securityManager.setRealm(simpleAccountRealm);

    SecurityUtils.setSecurityManager(securityManager);

    DefaultSessionManager sessionManager = (DefaultSessionManager) securityManager.getSessionManager();
    sessionDAO = new EnterpriseCacheSessionDAO();
    sessionManager.setSessionDAO(sessionDAO);

    simpleSession = new SimpleSession();
    sessionDAO.create(simpleSession);//from  w  ww.  j av a 2 s .  co  m

    List<PrincipalCollection> principalCollectionList = new ArrayList<PrincipalCollection>();
    principalCollectionList.add(new SimplePrincipalCollection("other Principal", "some-realm"));

    simpleSession.setAttribute(DelegatingSubject.class.getName() + ".RUN_AS_PRINCIPALS_SESSION_KEY",
            principalCollectionList);

    DelegatingSession delegatingSession = new DelegatingSession(sessionManager,
            new DefaultSessionKey(simpleSession.getId()));

    // set the user

    subject = new DelegatingSubject(new SimplePrincipalCollection("anonymous", "realmName"), true, null,
            delegatingSession, securityManager);
    ThreadContext.bind(subject);
}

From source file:org.sonatype.nexus.security.StatelessAndStatefulWebSessionManagerTest.java

License:Open Source License

@Before
public void setupSecurityObjects() {
    // make sure the static securityManager is NOT set
    SecurityUtils.setSecurityManager(null);

    SimpleAccountRealm simpleAccountRealm = new SimpleAccountRealm();
    simpleAccountRealm.addAccount("user", "user123");

    securityManager = new NexusWebRealmSecurityManager(new HashMap<String, RolePermissionResolver>());
    securityManager.setRealm(simpleAccountRealm);
    securityManager.init();/*from   ww w.  ja  v  a  2  s.  c  o m*/

    sessionManager = (StatelessAndStatefulWebSessionManager) securityManager.getSessionManager();
    sessionDAO = (CachingSessionDAO) sessionManager.getSessionDAO();

    setupCacheManager(securityManager);

    initCache(sessionDAO);
}

From source file:test.ShiroTest.java

License:Apache License

@Before
public void setupConfigs() throws Exception {
    authzConfig = getConfigurationAdmin().getConfiguration("org.apache.aries.jax.rs.shiro.authorization");

    Hashtable<String, Object> table = new Hashtable<>();
    table.put("shiro.authz", TRUE);
    table.put(JAX_RS_EXTENSION_SELECT, "(shiro.authc=true)");
    authzConfig.update(table);/*w w  w .ja v a 2s .c  om*/

    authcConfig = getConfigurationAdmin().getConfiguration("org.apache.aries.jax.rs.shiro.authentication");

    table = new Hashtable<>();
    table.put("shiro.authc", TRUE);
    authcConfig.update(table);

    realm = new SimpleAccountRealm();

    reg = bundleContext.registerService(Realm.class, realm, null);

    Thread.sleep(1000);
}