<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2021-10-21 
 | Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20211021" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Shiro :: Samples :: Spring Boot Web &#x2013; Issue Management</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />

      
    <script type="text/javascript" src="./js/apache-maven-fluido-1.5.min.js"></script>

                      </head>
        <body class="topBarDisabled">
          
        
    
        <div class="container-fluid">
          <div id="banner">
        <div class="pull-left">
                                    <a href="http://shiro.apache.org" id="bannerLeft">
                                                                                        <img src="http://shiro.apache.org/images/apache-shiro-logo.png"  alt="Shiro"/>
                </a>
                      </div>
        <div class="pull-right">              <div id="bannerRight">
                                                                                        <img src="http://shiro.apache.org/images/asf_logo.png" />
                </div>
      </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
              
                              <li class="">
                    <a href="../../index.html" title="Apache Shiro :: Samples :: Spring Boot Web">
        Apache Shiro :: Samples :: Spring Boot Web</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="../index.html" title="Apache Shiro :: Samples">
        Apache Shiro :: Samples</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="index.html" title="Apache Shiro :: Samples :: Spring Boot Web">
        Apache Shiro :: Samples :: Spring Boot Web</a>
                    <span class="divider">/</span>
      </li>
        <li class="active ">Issue Management</li>
        
              
                  <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2021-10-21</li>
              <li id="projectVersion" class="pull-right">
                    Version: 1.8.0
        </li>
            
                            </ul>
      </div>

            
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
              
                <ul class="nav nav-list">
                    <li class="nav-header">Parent Project</li>
                              
      <li>
  
                          <a href="../index.html" title="Apache Shiro :: Samples">
          <span class="none"></span>
        Apache Shiro :: Samples</a>
            </li>
                                        <li class="nav-header">Project Documentation</li>
                                                                                                                                                                                                                                                                                                                                    
      <li>
  
                          <a href="project-info.html" title="Project Information">
          <span class="icon-chevron-down"></span>
        Project Information</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="ci-management.html" title="CI Management">
          <span class="none"></span>
        CI Management</a>
            </li>
                    
      <li>
  
                          <a href="dependencies.html" title="Dependencies">
          <span class="none"></span>
        Dependencies</a>
            </li>
                    
      <li>
  
                          <a href="dependency-info.html" title="Dependency Information">
          <span class="none"></span>
        Dependency Information</a>
            </li>
                    
      <li>
  
                          <a href="dependency-management.html" title="Dependency Management">
          <span class="none"></span>
        Dependency Management</a>
            </li>
                    
      <li>
  
                          <a href="distribution-management.html" title="Distribution Management">
          <span class="none"></span>
        Distribution Management</a>
            </li>
                    
      <li>
  
                          <a href="index.html" title="About">
          <span class="none"></span>
        About</a>
            </li>
                    
      <li class="active">
  
            <a href="#"><span class="none"></span>Issue Management</a>
          </li>
                    
      <li>
  
                          <a href="licenses.html" title="Licenses">
          <span class="none"></span>
        Licenses</a>
            </li>
                    
      <li>
  
                          <a href="mailing-lists.html" title="Mailing Lists">
          <span class="none"></span>
        Mailing Lists</a>
            </li>
                    
      <li>
  
                          <a href="plugin-management.html" title="Plugin Management">
          <span class="none"></span>
        Plugin Management</a>
            </li>
                    
      <li>
  
                          <a href="plugins.html" title="Plugins">
          <span class="none"></span>
        Plugins</a>
            </li>
                    
      <li>
  
                          <a href="scm.html" title="Source Code Management">
          <span class="none"></span>
        Source Code Management</a>
            </li>
                    
      <li>
  
                          <a href="summary.html" title="Summary">
          <span class="none"></span>
        Summary</a>
            </li>
                    
      <li>
  
                          <a href="team.html" title="Team">
          <span class="none"></span>
        Team</a>
            </li>
              </ul>
        </li>
                                                                                                                                                            
      <li>
  
                          <a href="project-reports.html" title="Project Reports">
          <span class="icon-chevron-right"></span>
        Project Reports</a>
                  </li>
            </ul>
              
                
          <hr />

           <div id="poweredBy">
                            <div class="clear"></div>
                            <div class="clear"></div>
                            <div class="clear"></div>
                            <div class="clear"></div>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
                  </div>
          </div>
        </div>
        
                
        <div id="bodyColumn"  class="span10" >
                                  
            <div class="section">
<h2><a name="Overview"></a>Overview</h2><a name="Overview"></a>
<p>This project uses <a class="externalLink" href="http://www.atlassian.com/software/jira">JIRA</a>.</p></div>
<div class="section">
<h2><a name="Issue_Management"></a>Issue Management</h2><a name="Issue_Management"></a>
<p>Issues, bugs, and feature requests should be submitted to the following issue management system for this project.</p>
<div class="source"><pre class="prettyprint"><a class="externalLink" href="https://issues.apache.org/jira/browse/SHIRO">https://issues.apache.org/jira/browse/SHIRO</a></pre></div></div>
                  </div>
            </div>
          </div>

    <hr/>

    <footer>
            <div class="container-fluid">
                      <div class="row-fluid">
                                      <p >Copyright &copy;                    2004&#x2013;2021
                        <a href="https://www.apache.org/">The Apache Software Foundation</a>.
            All rights reserved.    
      </p>
                </div>

        
                </div>
    </footer>
        </body>
</html>
