专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Shiro验证码的配置

Shiro验证码的配置

更新时间:2022-02-08 11:14:31 来源:动力节点 浏览1180次

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视频教程,里面的内容丰富,由浅到深,通俗易懂,适合没有基础的朋友学习,希望对大家能够有所帮助哦。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>