300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 【若依(ruoyi)】验证码

【若依(ruoyi)】验证码

时间:2019-01-09 08:03:57

相关推荐

【若依(ruoyi)】验证码

前言

ruoyi 4.6.0

验证码

若依(ruoyi)中自带了个验证码功能。

验证码URL

http://xxx/{servlet.context-path}/captcha/captchaImage?type=math&s={random}

http://xxx/{servlet.context-path}/captcha/captchaImage?type=char&s={random}

Controller

com.ruoyi.web.controller.system.SysCaptchaController

检查验证码的Filter

com.ruoyi.framework.shiro.web.filter.captcha.CaptchaValidateFilter

哪些路径检查验证码

com.ruoyi.framework.config.ShiroConfig类的shiroFilterFactoryBean方法中配置。

先注册 CaptchaValidateFilter

@Beanpublic ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager, EhCacheManager ehCacheManager, OnlineWebSessionManager sessionManager){ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();...Map<String, Filter> filters = new LinkedHashMap<String, Filter>();...filters.put("captchaValidate", captchaValidateFilter());...shiroFilterFactoryBean.setFilters(filters);...return shiroFilterFactoryBean;}public CaptchaValidateFilter captchaValidateFilter(){CaptchaValidateFilter captchaValidateFilter = new CaptchaValidateFilter();captchaValidateFilter.setCaptchaEnabled(captchaEnabled);captchaValidateFilter.setCaptchaType(captchaType);return captchaValidateFilter;}

配置需要检查验证码的路径

@Beanpublic ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager, EhCacheManager ehCacheManager, OnlineWebSessionManager sessionManager){ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();...LinkedHashMap<String, String> filterChainDefinitionMap = new LinkedHashMap<>();.../*验证码URL需要匿名访问*/filterChainDefinitionMap.put("/captcha/captchaImage**", "anon");/*登录URL需要匿名访问且检查验证码*/filterChainDefinitionMap.put("/login", "anon,captchaValidate");/*注册URL需要匿名访问且检查验证码*/filterChainDefinitionMap.put("/register", "anon,captchaValidate");...shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);...return shiroFilterFactoryBean;}public CaptchaValidateFilter captchaValidateFilter(){CaptchaValidateFilter captchaValidateFilter = new CaptchaValidateFilter();captchaValidateFilter.setCaptchaEnabled(captchaEnabled);captchaValidateFilter.setCaptchaType(captchaType);return captchaValidateFilter;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。