Example usage for org.apache.shiro.web.mgt DefaultWebSecurityManager setSubjectFactory

List of usage examples for org.apache.shiro.web.mgt DefaultWebSecurityManager setSubjectFactory

Introduction

In this page you can find the example usage for org.apache.shiro.web.mgt DefaultWebSecurityManager setSubjectFactory.

Prototype

public void setSubjectFactory(SubjectFactory subjectFactory) 

Source Link

Document

Sets the SubjectFactory responsible for creating Subject instances exposed to the application.

Usage

From source file:cn.fh.starter.shiro.autoconfigure.ShiroManager.java

License:Apache License

@Bean(name = "securityManager")
@ConditionalOnMissingBean//from www  .  j a va  2s .c o m
public DefaultSecurityManager securityManager(CacheManager shiroCacheManager) {
    DefaultWebSecurityManager dwsm = new DefaultWebSecurityManager();

    // Factory?
    // session
    dwsm.setSubjectFactory(new StatelessSubjectFactory());
    dwsm.setSessionManager(defaultSessionManager());
    // session
    ((DefaultSessionStorageEvaluator) ((DefaultSubjectDAO) dwsm.getSubjectDAO()).getSessionStorageEvaluator())
            .setSessionStorageEnabled(false);

    //      <!-- ?/??Cache, EhCache  -->
    dwsm.setCacheManager(shiroCacheManager);

    SecurityUtils.setSecurityManager(dwsm);
    return dwsm;
}

From source file:com.github.ibole.infrastructure.web.security.spring.shiro.config.ShiroConfig.java

License:Apache License

@Bean
public DefaultWebSecurityManager setWebSecurityManager(DefaultWebSubjectFactory subjectFactory,
        SessionManager sessionManager) {
    Collection<Realm> realms = Lists.newArrayList();
    realms.add(getFormRealm());/*from w  w w . ja  v a2s  .  c o m*/
    realms.add(getStatelessRealm());
    DefaultSubjectDAO subjectDAO = new DefaultSubjectDAO();
    DefaultSessionStorageEvaluator sessionStorageEvaluator = new DefaultSessionStorageEvaluator();
    sessionStorageEvaluator.setSessionStorageEnabled(false);
    subjectDAO.setSessionStorageEvaluator(sessionStorageEvaluator);
    DefaultWebSecurityManager dwsm = new DefaultWebSecurityManager();
    dwsm.setRealms(realms);
    dwsm.setSubjectFactory(subjectFactory);
    dwsm.setSubjectDAO(subjectDAO);
    //dwsm.setCacheManager(getEhCacheManager());
    dwsm.setSessionManager(sessionManager);
    return dwsm;
}

From source file:org.everit.osgi.authentication.shiro.simple.DefaultShiroFilter.java

License:Open Source License

public DefaultShiroFilter(final long globalSessionTimeout, final String shiroIniLocation, final Realm realm,
        final String casLoginUrl, final String casFailureUrl) {

    Ini ini = loadIni(shiroIniLocation);

    IniWebEnvironment iniWebEnvironment = new IniWebEnvironment() {

        @Override/*from w ww.  ja va  2 s .  co  m*/
        protected FilterChainResolver createFilterChainResolver() {
            FilterChainResolver filterChainResolver = super.createFilterChainResolver();

            if (realm instanceof CasRealm) {
                if (filterChainResolver instanceof PathMatchingFilterChainResolver) {
                    FilterChainManager filterChainManager = ((PathMatchingFilterChainResolver) filterChainResolver)
                            .getFilterChainManager();
                    Map<String, Filter> filters = filterChainManager.getFilters();
                    for (Filter filter : filters.values()) {
                        if (filter instanceof RolesAuthorizationFilter) {
                            ((RolesAuthorizationFilter) filter).setLoginUrl(casLoginUrl);
                        }
                    }
                }
            }

            return filterChainResolver;
        }

        @Override
        protected WebSecurityManager createWebSecurityManager() {
            DefaultWebSessionManager defaultWebSessionManager = new DefaultWebSessionManager();
            defaultWebSessionManager.setGlobalSessionTimeout(globalSessionTimeout);

            DefaultWebSecurityManager webSecurityManager = new DefaultWebSecurityManager();
            webSecurityManager.setRealm(realm);
            webSecurityManager.setSessionManager(defaultWebSessionManager);
            if (realm instanceof CasRealm) {
                webSecurityManager.setSubjectFactory(new CasSubjectFactory());
                CasFilter casFilter = new CasFilter();
                casFilter.setFailureUrl(casFailureUrl);
                setObject("casFilter", casFilter);
            }
            return webSecurityManager;
        }

    };
    iniWebEnvironment.setIni(ini);
    iniWebEnvironment.init();

    WebSecurityManager securityManager = (WebSecurityManager) iniWebEnvironment.getSecurityManager();
    setSecurityManager(securityManager);

    FilterChainResolver filterChainResolver = iniWebEnvironment.getFilterChainResolver();
    setFilterChainResolver(filterChainResolver);
}