更新时间:2022-02-08 11:14:31 来源:极悦 浏览1294次
shiro结合spring进行权限管理,项目还未上线,权限系统还未开启,先把用到的验证码和登陆过滤部分功能记录一下
1.验证码是否开启:
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager" >
<property name="realm" ref="shiroDbRealm" />
<property name="cacheManager" ref="shiroEhcacheManager" />
</bean>
<!-- <bean id="userServiceImpl" class="com.joloplay.security.service.impl.UserServiceImpl"></bean> -->
<!-- <bean id="userRoleServiceImpl" class="com.joloplay.security.service.impl.UserRoleServiceImpl"></bean> -->
<!-- Spring Data Jpa配置 -->
<bean id="shiroDbRealm" class="com.joloplay.security.shiro.ShiroDbRealm" depends-on="securityUserDao,userRoleDao">
<property name="userService" ref="userServiceImpl"/>
<property name="userRoleService" ref="userRoleServiceImpl"/>
<property name="useCaptcha" value="true"/>
</bean>
修改下面的bean中的 "useCaptcha"属性的value值即可,TRUE为开启验证码,FALSE为不开启。
2.通过配置,使相应的请求跳过登陆过滤器:
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager" />
<property name="loginUrl" value="/login.do" />
<property name="successUrl" value="/ui/index.do" />
<property name="filters">
<map>
<!-- <entry key="authc" value-ref="baseFormAuthenticationFilter"/> -->
<!-- 是否启用验证码检验 -->
<entry key="authc" value-ref="captchaFormAuthenticationFilter"/>
</map>
</property>
<property name="filterChainDefinitions">
<value>
/sdkData/*.do =anon
/infoFee/*.do =anon
/Captcha.jpg = anon
/include/** = anon
/login/timeout = anon
/login.do = authc
/logout = logout
/ui/*.do = user
/ui/index/*.do = user
/ui/** = anon
/*.jsp = anon
/*.html = anon
/** = user
</value>
</property>
</bean>
只需要在filterChainDefinetions属性中,将请求的URL列出即可,设置为anon,即实现不登陆就可访问的效果。如果大家想了解更多相关知识,不妨来关注一下极悦的Shiro视频教程,里面的内容丰富,由浅到深,通俗易懂,适合没有基础的朋友学习,希望对大家能够有所帮助哦。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习