牛骨文教育服务平台(让学习变的简单)
博文笔记

shiro中多用户的登陆页面(multiple login pages)配置

创建时间:2016-03-08 投稿人: 浏览次数:160
     <bean id="membersAuthc"
		class="org.apache.shiro.web.filter.authc.FormAuthenticationFilter">
		<property name="loginUrl" value="${frontPath}/loginl" />
		<property name="successUrl" value="${frontPath}" />
	</bean>
	<bean id="adminAuthc"
		class="org.apache.shiro.web.filter.authc.FormAuthenticationFilter">
		<property name="loginUrl" value="${adminPath}/login" />
		<property name="successUrl" value="${adminPath}" />
	</bean>
	<bean id="adminUser" class="org.apache.shiro.web.filter.authc.UserFilter">
		<property name="loginUrl" value="${adminPath}/login" />
	</bean>
	<bean id="frontUser" class="org.apache.shiro.web.filter.authc.UserFilter">
		<property name="loginUrl" value="${frontPath}/login" />
	</bean>
	<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
		<property name="securityManager" ref="securityManager" />
		<property name="loginUrl" value="${adminPath}/login" />
		<property name="successUrl" value="${adminPath}" />
		<property name="filters">
			<map>
				<entry key="authc" value-ref="formAuthenticationFilter" />
				<entry key="membersAuthc" value-ref="membersAuthc" />
				<entry key="adminAuthc" value-ref="adminAuthc" />
				<entry key="adminUser" value-ref="adminUser" />
			</map>
		</property>
		<property name="filterChainDefinitions">
			<value>
				/static/** = anon
				/userfiles/** = anon
				${adminPath}/login = authc
				${adminPath}/logout = logout
				${adminPath}/** = adminUser
				${frontPath}/show* = frontUser
			</value>
		</property>
	</bean>


       由此可以很轻松的配置多个工程路口,比如有状态和无状态时,拥有不同的登录接口,但是希望能够共用原先的处理逻辑,此时只需要配置多个不同类型的登录页面即可。
            
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。