我想使用shiro对主页进行放行,但是其他页面必须登陆才可进行操作,但是放行后当我访问home页面时一直访问登陆页面

SXJR 2019-11-30 06:03:07
如果提供的资料有所不足,请说明我会在回复中提供
[code=xml]
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager" />
<property name="loginUrl" value="/home" />
<property name="successUrl" value="/home" />
<!-- shiro过滤器的具体配置 -->
<!-- anon-匿名访问,authc-需要认证 -->
<property name="filterChainDefinitions">
<value>
/** = authc
/static/** = anon
/home = anon
/loginPage = anon
/img/** = anon
</value>
</property>
</bean>
[/code]
一直访问以下页面
...全文
419 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
javabro 2019-12-02
  • 打赏
  • 举报
回复

<property name="filterChainDefinitions">
            <value>
                /** = authc
                /static/** = anon
                /home = anon
                /loginPage = anon
                /img/** = anon
            </value>
</property>
正确写法:

<property name="filterChainDefinitions">
            <value>
                /** = authc         <!-- /** 中 ** 替换到你的controller,这里注意你的controller路径规范。比如采用统一前缀可减少配置 -->
                /static/** = anon
                /home = anon
                /loginPage = anon
                /img/** = anon
            </value>
</property>
javabro 2019-12-02
  • 打赏
  • 举报
回复

<property name="filterChainDefinitions">
            <value>
                /** = authc
                /static/** = anon
                /home = anon
                /loginPage = anon
                /img/** = anon
            </value>
</property>
配置错误,/** 代码任何URL 会走authc 过滤器执行权限验证。书写规则应该是 我的例子如下,也就是最不想拦截的地址应该卸载最下面。满意请赏

                 /manage/** = authc
                /manage/index = user
                /druid/** = user
                /swagger-ui.html = user
                /resources/** = anon
                /** = anon

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧