The Spring support in 1.4 has been updated.  We haven't had a chance to
update the docs yet, but you can take a look at one of the examples:

https://github.com/apache/shiro/blob/master/samples/spring-boot/src/main/java/org/apache/shiro/samples/CliApp.java

On Mon, Jun 5, 2017 at 3:45 AM, Laszlo Hornyak <[email protected]>
wrote:

> Yes I believe the shiro.ini is needed or at least it is practical to have
> it separate from the rest of your application configuration, since
> typically applicationContext will be all the same in dev and production
> environment, while you very likely need completely different security
> settings.
>
> On Mon, Jun 5, 2017 at 2:15 AM, Yu Wei <[email protected]> wrote:
>
>> I didn't have web.xml at first, it's generated by spring
>> autoconfiguration. When integrated with shiro, I only added shiro related
>> in web.xml.
>> I have little experience in using spring and shiro. This is my mistake.
>> Another question is about shiro.ini.
>> Is shiro.ini still needed when integrating with spring? I only found
>> description about setting applicationContext.xml when integrating with
>> shiro.
>>
>> Thanks for your help.
>> Jared
>> Interested in cloud computing,big data processing,linux
>> 2017年6月5日 04:54于 Laszlo Hornyak <[email protected]>写道:
>> Hi,
>>
>> Did spring start up at all? You do not have it in your web.xml...
>>
>> <context-param>
>>     <param-name>contextConfigLocation</param-name>
>>     <param-value>
>>         WEB-INF/applicationContext.xml
>>     </param-value>
>> </context-param>
>>
>> <listener>
>>     <listener-class>
>>         org.springframework.web.context.ContextLoaderListener
>>     </listener-class>
>> </listener>
>>
>>
>>
>>
>> On Sun, Jun 4, 2017 at 7:23 PM, Yu Wei <[email protected]> wrote:
>>
>>> Hi guys,
>>>
>>> I tried to integrate shiro with spring boot by following document in
>>> Apache shiro.
>>>
>>> I found a problem when trying to deploy war to tomcat as below:
>>>
>>> 04-Jun-2017 16:16:00.163 INFO [main] 
>>> org.apache.catalina.core.ApplicationContext.log
>>> Initializing Shiro environment
>>> 04-Jun-2017 16:16:00.448 SEVERE [main] 
>>> org.apache.catalina.core.StandardContext.filterStart
>>> Exception starting filter [shiroFilter]
>>>  org.springframework.beans.factory.NoSuchBeanDefinitionException: No
>>> bean named 'shiroFilter' available
>>>         at org.springframework.beans.factory.support.DefaultListableBea
>>> nFactory.getBeanDefinition(DefaultListableBeanFactory.java:687)
>>>         at org.springframework.beans.factory.support.AbstractBeanFactor
>>> y.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1207)
>>>         at org.springframework.beans.factory.support.AbstractBeanFactor
>>> y.doGetBean(AbstractBeanFactory.java:284)
>>>
>>>
>>> According to shiro document, I should add applicationContext.xml with
>>> proper settings. Where should I place the context file? In WEB-INF or other
>>> directory?
>>>
>>>
>>> How could I fix this problem?
>>>
>>>
>>> Detailed configuration is as below,
>>>
>>>
>>> Web.xml in directory WEB-INF is as following,
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee";
>>>          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>>>               http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";>
>>>     <!-- configuration for Aapache shiro -->
>>>     <listener>
>>>         <listener-class>org.apache.shiro.web.env.EnvironmentLoaderLi
>>> stener</listener-class>
>>>     </listener>
>>>
>>>     <filter>
>>>         <filter-name>shiroFilter</filter-name>
>>>         <filter-class>org.springframework.web.filter.DelegatingFilte
>>> rProxy</filter-class>
>>>         <init-param>
>>>             <param-name>targetFilterLifecycle</param-name>
>>>             <param-value>true</param-value>
>>>         </init-param>
>>>     </filter>
>>>
>>>     <filter-mapping>
>>>         <filter-name>shiroFilter</filter-name>
>>>         <url-pattern>/*</url-pattern>
>>>         <dispatcher>REQUEST</dispatcher>
>>>         <dispatcher>FORWARD</dispatcher>
>>>         <dispatcher>INCLUDE</dispatcher>
>>>         <dispatcher>ERROR</dispatcher>
>>>     </filter-mapping>
>>>
>>> </web-app>
>>>
>>> applicationContext.xml is placed in folder WEB-INF, and content is as
>>> below,
>>>
>>> <bean id="shiroFilter" class="org.apache.shiro.spring
>>> .web.ShiroFilterFactoryBean">
>>>     <property name="securityManager" ref="securityManager"/>
>>>     <property name="filterChainDefinitions">
>>>         <value>/dashboard/users/list = authc, roles[admin]</value>
>>>     </property>
>>> </bean>
>>>
>>> <bean id="securityManager" class="org.apache.shiro.web.mg
>>> t.DefaultWebSecurityManager">
>>>     <!-- Single realm app.  If you have multiple realms, use the
>>> 'realms' property instead. -->
>>>     <property name="realm" ref="myRealm"/>
>>>     <!-- By default the servlet container sessions will be used.
>>> Uncomment this line
>>>          to use shiro's native sessions (see the JavaDoc for more): -->
>>>     <!-- <property name="sessionMode" value="native"/> -->
>>> </bean>
>>> <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring
>>> .LifecycleBeanPostProcessor"/>
>>>
>>> <!-- Define the Shiro Realm implementation you want to use to connect to
>>> your back-end -->
>>> <!-- security datasource: -->
>>> <bean id="myRealm" class="org.apache.shiro.realm.jdbc.JdbcRealm">
>>> </bean>
>>> <bean 
>>> class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"
>>> depends-on="lifecycleBeanPostProcessor"/>
>>>     <bean class="org.apache.shiro.spring.security.interceptor.Authoriz
>>> ationAttributeSourceAdvisor">
>>>     <property name="securityManager" ref="securityManager"/>
>>> </bean>
>>> </beans>
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Jared, (韦煜)
>>> Software developer
>>> Interested in open source software, big data, Linux
>>>
>>
>>
>>
>> --
>>
>> EOF
>>
>
>
>
> --
>
> EOF
>

Reply via email to