更好的阅读体验
成功运行jeesite项目后,在浏览器中输入127.0.0.1:8980/js或者localhost:8980/js会执行src/main/java/com/jeesite/modules/sys/web/LoginController类中的login方法
@RequestMapping(value = "login")
public String login(HttpServletRequest request, HttpServletResponse response, Model model) {
....
....
....
return "modules/sys/sysLogin";
}
这段代码会执行两次,最后返回路径modules/sys/sysLogin,此时浏览器会跳转到登录界面http://127.0.0.1:8980/js/a/login
/a是因为在jeesite-core.yml文件中设置了前端基础路径
# 管理基础路径 adminPath: /a
跳转到/login是因为在jeesite-core.yml中设置有主页路径
# 主页路径
defaultPath: ${shiro.loginUrl}
# 登录相关设置
loginUrl: ${adminPath}/login
logoutUrl: ${shiro.loginUrl}
successUrl: ${adminPath}/index
在没有登录的情况下会进入${adminPath}/login路径,而adminPath设置为/a,所以浏览器会跳转到登录界面http://127.0.0.1:8980/js/a/login
输入用户名和密码后,则会执行src/main/java/com/jeesite/modules/sys/web/LoginController类中的index方法
@RequestMapping(value = "index")
public String index(HttpServletRequest request, HttpServletResponse response, Model model) {
....
....
....
// 返回主页面视图
return "modules/sys/sysIndex";
}
首先会验证用户权限,在jeesite-core.yml文件中设置了
filterChainDefinitions: |
${adminPath}/** = user
此时用户拥有user权限。
接下来会获取用户信息,获取信息成功后会得到__url:http://127.0.0.1:8980/js/a/index,此时是Ajax操作会返回登录信息的字符串,并告诉浏览器接下来将要跳转的界面http://127.0.0.1:8980/js/a/index,
浏览器获得将要跳转的页面后,将重新执行index方法,此时不再是Ajax操作,同时浏览器也不会在获得将要跳转的页面,接下来程序会返回指定用户类型employee,最后返回路径modules/sys/sysIndex,进入index界面



