powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Security + JSF2 page redirect
3 сообщений из 3, страница 1 из 1
Spring Security + JSF2 page redirect
    #37759434
sjinks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь настроить авторизацию в своем приложении. Вроде бы все работает: при указании пары логин\пароль, которой не существует в БД перенаправляет на страницу ошибки, как и нужно, но при указании верной пары - просто обновляет текущую страницу. Не подскажете, как указать ему что при роли такой-то надо идти "туда", а при роли такой-то "сюда"?

Собственно, spring-security.xml :
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<beans:beans xmlns="http://www.springframework.org/schema/security"
		xmlns:beans="http://www.springframework.org/schema/beans"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/security
		http://www.springframework.org/schema/security/spring-security-3.1.xsd">
	
	<http auto-config="true">
		<intercept-url pattern="/adminpanel/*" access="ROLE_ADMIN"/>
		<form-login login-page="/index.xhtml" authentication-failure-url="/fail.xhtml"/>
	</http>

	  <authentication-manager>
		<authentication-provider>
			<jdbc-user-service data-source-ref="dataSource"
				users-by-username-query="select username,password,enabled from users where username=?"
				authorities-by-username-query="select u.username,auth.authority from users u, authorities auth 
				where u.user_id=auth.user_id and u.username=?"/>
		</authentication-provider>
	</authentication-manager>
</beans:beans>



Форма на главной странице :
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<h:form id="loginForm" prependId="false">
				<h:panelGroup>
					Логин: <h:inputText id="j_username" required="true"/>
				</h:panelGroup>
				<br/>
				<h:panelGroup>
					Пароль: <h:inputText id="j_password" required="true"/>
				</h:panelGroup>
				<br/><br/>
				<h:panelGroup>
					<h:commandButton type="submit" id="login" action="#{authenticationBean.doLogin()}" value="Войти"/>
				</h:panelGroup>
			</h:form> 



AuthenticationBean.java :
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
@ManagedBean
@RequestScoped
public class AuthenticationBean {
	public String doLogin() throws IOException,ServletException{
		ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
		RequestDispatcher dispatcher = ((ServletRequest)context.getRequest()).getRequestDispatcher("/j_spring_security_check");
		dispatcher.forward((ServletRequest)context.getRequest(), (ServletResponse)context.getResponse());
		return null;
	}
	
	public String doLogout(){
		FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
		return "/logout.xhtml";
	}
}
...
Рейтинг: 0 / 0
Spring Security + JSF2 page redirect
    #37760658
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если независимо от ролей, то просто в form-login добавляем default-target-url="mysuccesspage.html"
Если для разных ролей (на типа там бэкенд, фронтэнд, да?), то делаем как здесь:
how to change default-target-url depending on user role
Многое! Даже почти всё, в Спринге достигается переопределением какого-нибудь DefaulBlahblahblahHandler-а.. )))
...
Рейтинг: 0 / 0
Spring Security + JSF2 page redirect
    #37762126
sjinks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо :) Погляжу
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Security + JSF2 page redirect
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]