如何使用Shiro实现不同用户登录成功后跳转到不同主页

 我来答
匿名用户
2016-11-25
展开全部
如果集成了spring mvc的话,可以手动创建一个login的controller 然后用SecurityUtils.getSubject()函数获取当前用户,用hasRole("[role_name]")或者hasPermission("[String_permission]")等函数判断具有什么权限,在返回时return不同的页面路径就好...
feng_xing2
2016-12-21 · TA获得超过537个赞
知道小有建树答主
回答量:863
采纳率:0%
帮助的人:229万
展开全部
重写登录成功后方法,extends org.apache.shiro.web.filter.authc.FormAuthenticationFilter

/**
* 重写登录成功后方法,根据情况跳转到不同的路径
*/
@SuppressWarnings("unchecked")
@Override
protected boolean onLoginSuccess(AuthenticationToken token,
Subject subject, ServletRequest request, ServletResponse response)
throws Exception {

// 判断有没有认证
List<String> roles = (List<String>) UserUtils.getSession().getAttribute("roles");
for (int r = 0; r < roles.size(); r++) {
if ("auth".equals(roles.get(r))) {
// 认证跳转到首页
WebUtils.issueRedirect(request, response, getSuccessUrl(), null, true);
}
}
// 未认证跳转到认证页面
WebUtils.issueRedirect(request, response, "/aa", null, true);

return false;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式