首页 课程 师资 教程 报名

Shiro验证码的配置

  • 2022-02-08 11:14:31
  • 1220次 星辉

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

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交