org.apache.shiro.spring.web.ShiroFilterFactoryBean.<init>()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(15.1k)|赞(0)|评价(0)|浏览(120)

本文整理了Java中org.apache.shiro.spring.web.ShiroFilterFactoryBean.<init>()方法的一些代码示例,展示了ShiroFilterFactoryBean.<init>()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ShiroFilterFactoryBean.<init>()方法的具体详情如下:
包路径:org.apache.shiro.spring.web.ShiroFilterFactoryBean
类名称:ShiroFilterFactoryBean
方法名:<init>

ShiroFilterFactoryBean.<init>介绍

暂无

代码示例

代码示例来源:origin: linlinjava/litemall

@Bean
public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {
  ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
  shiroFilterFactoryBean.setSecurityManager(securityManager);
  Map<String, String> filterChainDefinitionMap = new LinkedHashMap<String, String>();
  filterChainDefinitionMap.put("/admin/auth/login", "anon");
  filterChainDefinitionMap.put("/admin/auth/401", "anon");
  filterChainDefinitionMap.put("/admin/auth/index", "anon");
  filterChainDefinitionMap.put("/admin/auth/403", "anon");
  filterChainDefinitionMap.put("/admin/**", "authc");
  shiroFilterFactoryBean.setLoginUrl("/admin/auth/401");
  shiroFilterFactoryBean.setSuccessUrl("/admin/auth/index");
  shiroFilterFactoryBean.setUnauthorizedUrl("/admin/auth/403");
  shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
  return shiroFilterFactoryBean;
}

代码示例来源:origin: ityouknow/spring-boot-examples

@Bean
public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {
  System.out.println("ShiroConfiguration.shirFilter()");
  ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
  shiroFilterFactoryBean.setSecurityManager(securityManager);
  //拦截器.
  Map<String,String> filterChainDefinitionMap = new LinkedHashMap<String,String>();
  // 配置不会被拦截的链接 顺序判断
  filterChainDefinitionMap.put("/static/**", "anon");
  //配置退出 过滤器,其中的具体的退出代码Shiro已经替我们实现了
  filterChainDefinitionMap.put("/logout", "logout");
  //<!-- 过滤链定义,从上向下顺序执行,一般将/**放在最为下边 -->:这是一个坑呢,一不小心代码就不好使了;
  //<!-- authc:所有url都必须认证通过才可以访问; anon:所有url都都可以匿名访问-->
  filterChainDefinitionMap.put("/**", "authc");
  // 如果不设置默认会自动寻找Web工程根目录下的"/login.jsp"页面
  shiroFilterFactoryBean.setLoginUrl("/login");
  // 登录成功后要跳转的链接
  shiroFilterFactoryBean.setSuccessUrl("/index");
  //未授权界面;
  shiroFilterFactoryBean.setUnauthorizedUrl("/403");
  shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
  return shiroFilterFactoryBean;
}

代码示例来源:origin: 527515025/springBoot

/**
   * ShiroFilterFactoryBean,是个factorybean,为了生成ShiroFilter。
   * 它主要保持了三项数据,securityManager,filters,filterChainDefinitionManager。
   */
  @Bean(name = "shiroFilter")
  public ShiroFilterFactoryBean shiroFilterFactoryBean() {
    ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
    shiroFilterFactoryBean.setSecurityManager(securityManager());

    Map<String, Filter> filters = new LinkedHashMap<String, Filter>();
    LogoutFilter logoutFilter = new LogoutFilter();
    logoutFilter.setRedirectUrl("/login");
//        filters.put("logout",null);
    shiroFilterFactoryBean.setFilters(filters);

    Map<String, String> filterChainDefinitionManager = new LinkedHashMap<String, String>();
    filterChainDefinitionManager.put("/logout", "logout");
    filterChainDefinitionManager.put("/user/**", "authc,roles[ROLE_USER]");
    filterChainDefinitionManager.put("/events/**", "authc,roles[ROLE_ADMIN]");
//        filterChainDefinitionManager.put("/user/edit/**", "authc,perms[user:edit]");// 这里为了测试,固定写死的值,也可以从数据库或其他配置中读取
    filterChainDefinitionManager.put("/**", "anon");
    shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionManager);

    shiroFilterFactoryBean.setSuccessUrl("/");
    shiroFilterFactoryBean.setUnauthorizedUrl("/403");
    return shiroFilterFactoryBean;
  }

代码示例来源:origin: stylefeng/Guns

ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
shiroFilter.setSecurityManager(securityManager);

代码示例来源:origin: apache/shiro

protected ShiroFilterFactoryBean shiroFilterFactoryBean() {
    ShiroFilterFactoryBean filterFactoryBean = new ShiroFilterFactoryBean();

    filterFactoryBean.setLoginUrl(loginUrl);
    filterFactoryBean.setSuccessUrl(successUrl);
    filterFactoryBean.setUnauthorizedUrl(unauthorizedUrl);

    filterFactoryBean.setSecurityManager(securityManager);
    filterFactoryBean.setFilterChainDefinitionMap(shiroFilterChainDefinition.getFilterChainMap());

    return filterFactoryBean;
  }
}

代码示例来源:origin: wuyouzhuguli/FEBS-Shiro

@Bean
public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
  ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();        
  
  Map<String, Filter> filters = shiroFilterFactoryBean.getFilters();//获取filters
  filters.put("user", new CustomUserFilter());
  
  // 设置 securityManager
  shiroFilterFactoryBean.setSecurityManager(securityManager);
  // 登录的 url
  shiroFilterFactoryBean.setLoginUrl(febsProperties.getShiro().getLoginUrl());
  // 登录成功后跳转的 url
  shiroFilterFactoryBean.setSuccessUrl(febsProperties.getShiro().getSuccessUrl());
  // 未授权 url
  shiroFilterFactoryBean.setUnauthorizedUrl(febsProperties.getShiro().getUnauthorizedUrl());
  
  LinkedHashMap<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
  // 设置免认证 url
  String[] anonUrls = StringUtils.splitByWholeSeparatorPreserveAllTokens(febsProperties.getShiro().getAnonUrl(), ",");
  for (String url : anonUrls) {
    filterChainDefinitionMap.put(url, "anon");
  }
  // 配置退出过滤器,其中具体的退出代码 Shiro已经替我们实现了
  filterChainDefinitionMap.put(febsProperties.getShiro().getLogoutUrl(), "logout");
  // 除上以外所有 url都必须认证通过才可以访问,未通过认证自动访问 LoginUrl
  filterChainDefinitionMap.put("/**", "user");
  shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
  return shiroFilterFactoryBean;
}

代码示例来源:origin: Smith-Cruise/Spring-Boot-Shiro

@Bean("shiroFilter")
public ShiroFilterFactoryBean factory(DefaultWebSecurityManager securityManager) {
  ShiroFilterFactoryBean factoryBean = new ShiroFilterFactoryBean();
  // 添加自己的过滤器并且取名为jwt
  Map<String, Filter> filterMap = new HashMap<>();
  filterMap.put("jwt", new JWTFilter());
  factoryBean.setFilters(filterMap);
  factoryBean.setSecurityManager(securityManager);
  factoryBean.setUnauthorizedUrl("/401");
  /*
   * 自定义url规则
   * http://shiro.apache.org/web.html#urls-
   */
  Map<String, String> filterRuleMap = new HashMap<>();
  // 所有请求通过我们自己的JWT Filter
  filterRuleMap.put("/**", "jwt");
  // 访问401和404页面不通过我们的Filter
  filterRuleMap.put("/401", "anon");
  factoryBean.setFilterChainDefinitionMap(filterRuleMap);
  return factoryBean;
}

代码示例来源:origin: tomoya92/pybbs

@Bean
public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) {
 log.info("开始配置shiroFilter...");
 ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
 shiroFilterFactoryBean.setSecurityManager(securityManager);
 //拦截器.
 Map<String,String> map = new HashMap<>();
 // 配置不会被拦截的链接 顺序判断  相关静态资源
 map.put("/static/**", "anon");
 //配置退出 过滤器,其中的具体的退出代码Shiro已经替我们实现了
 map.put("/admin/logout", "logout");
 //<!-- 过滤链定义,从上向下顺序执行,一般将/**放在最为下边 -->:这是一个坑呢,一不小心代码就不好使了;
 //<!-- authc:所有url都必须认证通过才可以访问; anon:所有url都都可以匿名访问-->
 map.put("/admin/**", "authc");
 // 如果不设置默认会自动寻找Web工程根目录下的"/login.jsp"页面
 shiroFilterFactoryBean.setLoginUrl("/adminlogin");
 // 登录成功后要跳转的链接
 shiroFilterFactoryBean.setSuccessUrl("/admin/index");
 //未授权界面;
 shiroFilterFactoryBean.setUnauthorizedUrl("/error");
 shiroFilterFactoryBean.setFilterChainDefinitionMap(map);
 return shiroFilterFactoryBean;
}

代码示例来源:origin: stackoverflow.com

ShiroFilterFactoryBean factoryBean = new ShiroFilterFactoryBean();
factoryBean.setSecurityManager(securityManager); // referring to previous

代码示例来源:origin: orientechnologies/spring-data-orientdb

@Bean
public ShiroFilterFactoryBean shiroFilter() {
  ShiroFilterFactoryBean factoryBean = new ShiroFilterFactoryBean();
  factoryBean.setSecurityManager(securityManager());
  return factoryBean;
}

代码示例来源:origin: liolay/shiro-spring-boot-starter

@Bean
@ConfigurationProperties(prefix = "shiro")
@ConditionalOnMissingBean(ShiroFilterFactoryBean.class)
public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) throws InvocationTargetException, IllegalAccessException {
  ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
  shiroFilterFactoryBean.setSecurityManager(securityManager);
  shiroFilterFactoryBean.setFilters(DefaultFilter.createInstanceMap(requestProperties));
  return shiroFilterFactoryBean;
}

代码示例来源:origin: stackoverflow.com

@Bean(name = "shiroFilter")
public AbstractShiroFilter shiroFilter() throws Exception {
  ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
  Map<String, String> filterChainDefinitionMapping = new HashMap<>();
  filterChainDefinitionMapping.put("/api/health", "authc,roles[guest],ssl[8443]");
  filterChainDefinitionMapping.put("/login", "authc");
  filterChainDefinitionMapping.put("/logout", "logout");
  shiroFilter.setFilterChainDefinitionMap(filterChainDefinitionMapping);
  shiroFilter.setSecurityManager(securityManager());
  shiroFilter.setLoginUrl("/login");
  Map<String, Filter> filters = new HashMap<>();
  filters.put("anon", new AnonymousFilter());
  filters.put("authc", new FormAuthenticationFilter());
  LogoutFilter logoutFilter = new LogoutFilter();
  logoutFilter.setRedirectUrl("/login?logout");
  filters.put("logout", logoutFilter);
  filters.put("roles", new RolesAuthorizationFilter());
  filters.put("user", new UserFilter());
  shiroFilter.setFilters(filters);
  return (AbstractShiroFilter) shiroFilter.getObject();
}

代码示例来源:origin: watchdog-framework/watchdog-framework

@Bean
public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager){
  log.info("Shiro Configuration initialized");
  ShiroFilterFactoryBean shiroFilterFactoryBean  = new ShiroFilterFactoryBean();
  //设置SecurityManager
  shiroFilterFactoryBean.setSecurityManager(securityManager);
  //拦截器
  //<!-- 过滤链定义,从上向下顺序执行,一般将 /**放在最为下边 -->:这是一个坑呢,一不小心代码就不好使了;
  //<!-- authc:所有url都必须认证通过才可以访问; anon:所有url都都可以匿名访问-->
  Map<String,String> filterChainDefinitionMap = shiroService.getFilterChainDefinitionMap();
  //过滤器
  Map<String,Filter> filters = new HashMap<>();
  filters.put("perms",new JwtFilter());
  shiroFilterFactoryBean.setFilters(filters);
  shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
  return shiroFilterFactoryBean;
}

代码示例来源:origin: lcw2004/one

@Bean(name = "shiroFilter")
public ShiroFilterFactoryBean shiroFilterFactoryBean() {
  ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
  shiroFilterFactoryBean.setSecurityManager(securityManager());
  shiroFilterFactoryBean.setLoginUrl("/login.html");
  shiroFilterFactoryBean.setSuccessUrl("/index.html");
  shiroFilterFactoryBean.setUnauthorizedUrl("/login.html");
  Map<String, Filter> filterMap = new LinkedHashMap<>();
  filterMap.put("authc", new OneFormAuthenticationFilter());
  shiroFilterFactoryBean.setFilters(filterMap);
  return shiroFilterFactoryBean;
}

代码示例来源:origin: xuyaohui/cloud-ida-cli

@Bean("shiroFilter")
public ShiroFilterFactoryBean factory(DefaultWebSecurityManager securityManager, ShiroService shiroService) {
  ShiroFilterFactoryBean factoryBean = new ShiroFilterFactoryBean();
  // 添加自己的过滤器并且取名为jwt
  Map<String, Filter> filterMap = new HashMap<>();
  //jwt签发认证
  filterMap.put("jwt", new JWTFilter());
  //url权限认证
  filterMap.put("roles",rolesAuthorizationFilter());
  factoryBean.setFilters(filterMap);
  factoryBean.setSecurityManager(securityManager);
  factoryBean.setUnauthorizedUrl("/401");
  /*
   * 自定义url规则
   * http://shiro.apache.org/web.html#urls-
   */
  //shiroFilter.setFilterChainDefinitionMap(shiroService.getAllRolesByPermission());
  factoryBean.setFilterChainDefinitionMap(shiroService.getAllRolesByPermission());
  return factoryBean;
}

代码示例来源:origin: chilexun/springboot-demo

/**
 * 设置过滤器
 */
@Bean("shiroFilter")
public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager, UserService userService) {
  ShiroFilterFactoryBean factoryBean = new ShiroFilterFactoryBean();
  factoryBean.setSecurityManager(securityManager);
  Map<String, Filter> filterMap = factoryBean.getFilters();
  filterMap.put("authcToken", createAuthFilter(userService));
  filterMap.put("anyRole", createRolesFilter());
  factoryBean.setFilters(filterMap);
  factoryBean.setFilterChainDefinitionMap(shiroFilterChainDefinition().getFilterChainMap());
  return factoryBean;
}

代码示例来源:origin: battcn/spring-boot2-learning

/**
 * ShiroFilter<br/>
 * 注意这里参数中的 StudentService 和 IScoreDao 只是一个例子,因为我们在这里可以用这样的方式获取到相关访问数据库的对象,
 * 然后读取数据库相关配置,配置到 shiroFilterFactoryBean 的访问规则中。实际项目中,请使用自己的Service来处理业务逻辑。
 *
 * @param securityManager 安全管理器
 * @return ShiroFilterFactoryBean
 */
@Bean(name = "shiroFilter")
public ShiroFilterFactoryBean getShiroFilterFactoryBean(DefaultWebSecurityManager securityManager) {
  ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
  // 必须设置 SecurityManager
  shiroFilterFactoryBean.setSecurityManager(securityManager);
  // 如果不设置默认会自动寻找Web工程根目录下的"/login"页面
  shiroFilterFactoryBean.setLoginUrl("/login");
  // 登录成功后要跳转的连接
  shiroFilterFactoryBean.setSuccessUrl("/index");
  shiroFilterFactoryBean.setUnauthorizedUrl("/denied");
  loadShiroFilterChain(shiroFilterFactoryBean);
  return shiroFilterFactoryBean;
}

代码示例来源:origin: org.apache.shiro/shiro-spring

protected ShiroFilterFactoryBean shiroFilterFactoryBean() {
    ShiroFilterFactoryBean filterFactoryBean = new ShiroFilterFactoryBean();

    filterFactoryBean.setLoginUrl(loginUrl);
    filterFactoryBean.setSuccessUrl(successUrl);
    filterFactoryBean.setUnauthorizedUrl(unauthorizedUrl);

    filterFactoryBean.setSecurityManager(securityManager);
    filterFactoryBean.setFilterChainDefinitionMap(shiroFilterChainDefinition.getFilterChainMap());

    return filterFactoryBean;
  }
}

代码示例来源:origin: com.stormpath.shiro/shiro-spring-config-web

protected ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager, ShiroFilterChainDefinition shiroFilterChainDefinition) {

    ShiroFilterFactoryBean filterFactoryBean = new ShiroFilterFactoryBean();

    filterFactoryBean.setLoginUrl(loginUrl);
    filterFactoryBean.setSuccessUrl(successUrl);
    filterFactoryBean.setUnauthorizedUrl(unauthorizedUrl);

    filterFactoryBean.setSecurityManager(securityManager);
    filterFactoryBean.setFilterChainDefinitionMap(shiroFilterChainDefinition.getFilterChainMap());

    return filterFactoryBean;
  }
}

代码示例来源:origin: boyazuo/shiro-spring-boot

@Bean(name = "shiroFilter")
  @DependsOn("securityManager")
  @ConditionalOnMissingBean
  public ShiroFilterFactoryBean getShiroFilterFactoryBean(DefaultSecurityManager securityManager, Realm realm) {
    securityManager.setRealm(realm);

    ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
    shiroFilter.setSecurityManager(securityManager);
    shiroFilter.setLoginUrl(properties.getLoginUrl());
    shiroFilter.setSuccessUrl(properties.getSuccessUrl());
    shiroFilter.setUnauthorizedUrl(properties.getUnauthorizedUrl());
    shiroFilter.setFilterChainDefinitionMap(properties.getFilterChainDefinitionMap());
    return shiroFilter;
  }
}

相关文章