2017-09-25 109 views
-1

没有人结束了回答这个问题,然后downvoted。春季安全只显示登录页面的页眉

+0

对于初学者停止混合所有这些不同的弹簧引导版本... 1.5.7,1.5.3,1.3.0,1.2.0,更不用说重复的依赖性和不匹配的版本。我也没有得到你的自定义访问被拒绝的处理程序,你不需要它(你只是使事情更复杂)。 –

回答

0

很难没有一个可运行的例子(一个Git仓库,我可以克隆将是很好)调试,但有一件事我看到的是,您的安全配置需要身份验证才能访问的样式表。

添加

.antMatchers("/webjars/**").permitAll() 
.antMatchers("/css/**").permitAll() 

您的安全配置和样式表应加载。

另外,你应该使用的样式表的绝对路径在你的头,因为../../css/main.css可能不适用于所有的网址。

的一个好方法来调试这些东西是使用Web控制台在浏览器中,并期待在网络请求,看看是否所有的资产都正确。

0

你肯定是无法正确显示其登录页面?我相信你可能会将不正确的身份验证请求重定向到错误的页面。当你处理那些在你MyAccessDeniedHandler类拒绝的请求你执行以下命令:

httpServletResponse.sendRedirect(httpServletRequest.getContextPath() + "/403"); 

这又由WebController类用下面的代码来处理:

@GetMapping("/403") 
public String error403() { 
    return "/error/403"; 
} 

所以,它好像当你处理403的时候你实际上并没有渲染登录页面。

我不熟悉的百里香叶,但我的猜测是,你还没有定义的错误/ 403文件,即使渲染页面时未找到该HTML文件的标题渲染。