spring security为不同用户显示各自的登录成功页面
一个常见的需求是,普通用户登录之后显示普通用户的工作台,管理员登陆之后显示后台管理页面。这个功能可以使用taglib解决。
其实只要在登录成功后的jsp页面中使用taglib判断当前用户拥有的权限进行跳转就可以。
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %> <sec:authorize ifAllGranted="ROLE_ADMIN">1 <%response.sendRedirect("admin.jsp");%> </sec:authorize> <sec:authorize ifNotGranted="ROLE_ADMIN">2 <%response.sendRedirect("user.jsp");%> </sec:authorize>
这里我们只做最简单的判断,只区分当前用户是否为管理员。可以根据实际情况做更加复杂的跳转,当用户具有不同权限时,跳到对应的页面,甚至可以根据用户username跳转到各自的页面。
可是我有一个疑问,没疑问 是这样的 最后显示消息时会自动从数据库读取 其实显示的是不同页面。。。。。。思考