У меня есть следующая настройка безопасности на двухстраничном базовом веб-сайте.Весна Безопасность фильтрует каждый случай
<http use-expressions="true">
<intercept-url pattern="/login*" access="permitAll" />
<intercept-url pattern="/resources/**" access="permitAll" />
<intercept-url pattern="/**" access="hasRole('ROLE_ADMIN')" />
<form-login login-page='/login.jsp'
default-target-url="/index.jsp"
username-parameter="name"
password-parameter="password"/>
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="admin" password="admin" authorities="ROLE_USER, ROLE_ADMIN" />
<user name="user" password="user" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
Я не пользуюсь пользовательскими контроллерами, используя разрешение по умолчанию для весеннего просмотра.
<mvc:annotation-driven />
<mvc:resources location="/resources/" mapping="/resources/**"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
При попытке доступа к странице index.jsp
по умолчанию он перенаправляет меня на login.jsp
страницы, как я ожидал, но когда я ставлю в данной форме он не посылает меня на index.jsp
страницы снова перенаправляет меня до login.jsp
. Поля формы определяются с помощью name
как showin в конфигурации безопасности, а форма action
- index.jsp
.
Мои login.jsp
Форма:
<form method="post" action="<c:url value = '/index.jsp' />">
<label for="inputEmail3">User</label>
<input name="name" type="text" id="inputEmail3" placeholder="User name" required>
<label for="inputPassword3">Password</label>
<input name="password" type="password" id="inputPassword3" placeholder="Password" required>
<button type="submit" class="btn btn-success btn-sm">Sign in</button>
<button type="reset" class="btn btn-default btn-sm">Reset</button>
</form>
Что мне не хватает?
Не могли бы вы показать 'login.jsp'? (Я предполагаю, что есть один, поскольку вы используете имена настраиваемых параметров) –
Теперь я показываю форму в login.jsp. –
И зачем ему это делать. Почему форма отправляется на 'index.jsp'? Это должно быть нечто вроде 'j_spring_security_check'. –