我正在使用spring security来实现我的应用程序的登录功能。大多数时候,春季安全工作正如预期的那样正常。但偶尔会发疯。那时,一些没有任何设计的登录页面打开了用户名和密码文本框。当我从那个未完全形成的登录页面登录时,我的主页上的一些随机png或js文件正在打开。然后我将从我的网址中删除相应的js或png部分,然后按回车键。那时我的完全成型的登录页面被打开,应用程序将按预期顺利运行。我不知道我的春季保安部分是怎么回事。有人请帮忙。以下是我对弹簧安全性的配置。
<http auto-config="true" use-expressions="true">
<!-- <intercept-url pattern="/loadISearch" access="ROLE_ADMIN" /> -->
<intercept-url pattern="/" access="permitAll" />
<intercept-url pattern="/accessdenied**" access="permitAll" />
<intercept-url pattern="/**" access="hasRole('ROLE_ADMIN')" />
<form-login login-page="/" default-target-url="/dashboard1" authentication-failure-url="/accessdenied" />
<logout invalidate-session="true" logout-success-url="/" />
</http>
答案 0 :(得分:1)
我的猜测是以下是发生的事情:
要解决此问题,请确保您授予对登录页面使用的所有资源的访问权限。例如,如果将所有CSS,JS和图像放在名为/ resources /的文件夹中,则可以按如下方式修改配置:
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/resources/**" access="permitAll" />
<intercept-url pattern="/" access="permitAll" />
<intercept-url pattern="/accessdenied**" access="permitAll" />
<intercept-url pattern="/**" access="hasRole('ROLE_ADMIN')" />
<form-login login-page="/"
default-target-url="/dashboard1"
authentication-failure-url="/accessdenied" />
<logout invalidate-session="true" logout-success-url="/" />
</http>