如何改变shrio默认的重定向式跳转方式

y41699060 2018-06-12 11:44:25
场景是这样的。因为是前后端分离,前端会调用后台接口,后台是使用shrio做的权限控制。但是未登录的情况shrio会用重定向的方式跳转到loginUrl。可是这样一来,前端访问其他接口在没有登录的情况下会被shrio做一次重定向,前端就会接收到302错误。而我想用跳转的方式,而不是重定向的方式应该就能避免这个问题了,或者说有什么其他更好的办法。不知道为什么上传不了图片,只能贴一下代码了

<bean id="oAuth2AuthenticationFilter" class="com.zdxfinfo.systemBase.shiro.OAuth2AuthenticationFilter">
<property name="authcCodeParam" value="code"/>
<property name="failureUrl" value="/oauth2Failure.jsp"/>
</bean>

<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager"/>
<property name="loginUrl" value="/unLogin"/>
<property name="successUrl" value="/successUrl"/>
<property name="filters">
<util:map>
<entry key="oauth2Authc" value-ref="oAuth2AuthenticationFilter"/>
</util:map>
</property>
<property name="filterChainDefinitions">
<value>
/swagger/**= anon
/api-docs/**= anon
/= anon
/v1.0/backgroundUser/insterBackgroundUser= anon
/login= anon
/oauth2-login= oauth2Authc
/logout= logout
/**= user
</value>
</property>
</bean>


按照网上的办法oAuth2AuthenticationFilter重写了onAccessDenied方法,还是没用。断点可以进入父类的onAccessDenied。但是就是不进入重写的。不知道为什么
...全文
1043 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
y41699060 2018-06-14
  • 打赏
  • 举报
回复
引用 1 楼 tianfang 的回复:
前端是浏览器吗? 你想要的跳转是什么表现?正常的跳转就是服务器发送302状态和新地址,客户端自动跳转到新地址
前端可能是任何东西,只要能给后台发请求的就是前端。我想要的是跳转不要用重定向。因为这样前端拿到返回之后又的向新地址在发送一次请求
tianfang 2018-06-12
  • 打赏
  • 举报
回复
前端是浏览器吗? 你想要的跳转是什么表现?正常的跳转就是服务器发送302状态和新地址,客户端自动跳转到新地址

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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