powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring 4 URL Question
11 сообщений из 11, страница 1 из 1
Spring 4 URL Question
    #39269963
Andrey3k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работаю с проектом на базе Spring 4.

Вполне понятно что URL'ы на которых висят методы и контроллеры.

Но в контроллерах есть записи вида "redirect:/modules/login"; Хотя контроллеров и методов с таким УРЛом нет.

Как это можно объяснить ?
...
Рейтинг: 0 / 0
Spring 4 URL Question
    #39269983
kadet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey3k,

"redirect:/modules/login"
redirect - понятно, метод требует перенаправить вызов к странице с url "/modules/login"

"/modules/login" должен в какой то форме быть. Либо на уровне класса "/modules" , а потом на методе "/login"

Если к проекту подключен spring security, то посмотри класс (файл) конфигурации
...
Рейтинг: 0 / 0
Spring 4 URL Question
    #39269989
Andrey3k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kadetAndrey3k,

"redirect:/modules/login"
redirect - понятно, метод требует перенаправить вызов к странице с url "/modules/login"

"/modules/login" должен в какой то форме быть. Либо на уровне класса "/modules" , а потом на методе "/login"

Если к проекту подключен spring security, то посмотри класс (файл) конфигурации
/modules/login в форме и на уровне класса есть.

К проекту подключен spring security. В файле security-context.xml есть

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
    <http auto-config="true" entry-point-ref="authEntryPoint" use-expressions="false">
        <access-denied-handler error-page="/modules/403"/>

        <intercept-url pattern="/modules/login/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
        <intercept-url pattern="/modules/restore/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
        <intercept-url pattern="/modules/state-change-event" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
        <intercept-url pattern="/modules/403" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
        <intercept-url pattern="/modules/**" access="IS_AUTHENTICATED_FULLY"/>
        <intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/>

        <form-login
                login-page="/modules/login"
                default-target-url="/modules/start"
                login-processing-url="/j_spring_security_check"
                authentication-failure-url="/modules/login?error"
                username-parameter="username"
                password-parameter="password"/>

        <logout logout-url="/j_spring_security_logout" logout-success-url="/modules/login?logout"/>

        <headers>
            <xss-protection enabled="true" block="true"/>
        </headers>

        <csrf request-matcher-ref="requiresCsrfMatcher"/>

    </http>



Вопрос что скрывается за /modules/login. Что вызывается если мы попали на УРЛ /modules/login ?
...
Рейтинг: 0 / 0
Spring 4 URL Question
    #39269990
Andrey3k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey3kkadetAndrey3k,

"redirect:/modules/login"
redirect - понятно, метод требует перенаправить вызов к странице с url "/modules/login"

"/modules/login" должен в какой то форме быть. Либо на уровне класса "/modules" , а потом на методе "/login"

Если к проекту подключен spring security, то посмотри класс (файл) конфигурации
/modules/login в форме и на уровне класса есть.

К проекту подключен spring security. В файле security-context.xml есть

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
    <http auto-config="true" entry-point-ref="authEntryPoint" use-expressions="false">
        <access-denied-handler error-page="/modules/403"/>

        <intercept-url pattern="/modules/login/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
        <intercept-url pattern="/modules/restore/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
        <intercept-url pattern="/modules/state-change-event" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
        <intercept-url pattern="/modules/403" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
        <intercept-url pattern="/modules/**" access="IS_AUTHENTICATED_FULLY"/>
        <intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/>

        <form-login
                login-page="/modules/login"
                default-target-url="/modules/start"
                login-processing-url="/j_spring_security_check"
                authentication-failure-url="/modules/login?error"
                username-parameter="username"
                password-parameter="password"/>

        <logout logout-url="/j_spring_security_logout" logout-success-url="/modules/login?logout"/>

        <headers>
            <xss-protection enabled="true" block="true"/>
        </headers>

        <csrf request-matcher-ref="requiresCsrfMatcher"/>

    </http>



Вопрос что скрывается за /modules/login. Что вызывается если мы попали на УРЛ /modules/login ?
/modules/login в форме и на уровне класса нет !!!!!
...
Рейтинг: 0 / 0
Spring 4 URL Question
    #39270004
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey3kНо в контроллерах есть записи вида "redirect:/modules/login"; Хотя контроллеров и методов с таким УРЛом нет.

Ну, нет контроллера, значит есть что-то еще. Для статичной страницы контроллер особо не нужен. Форма логина же как-то выводится?
...
Рейтинг: 0 / 0
Spring 4 URL Question
    #39270007
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey3k/modules/login в форме и на уровне класса нет !!!!!
Предлагаете поискать слово login в вашем проекте за вас?
...
Рейтинг: 0 / 0
Spring 4 URL Question
    #39270018
Andrey3k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczAndrey3k/modules/login в форме и на уровне класса нет !!!!!
Предлагаете поискать слово login в вашем проекте за вас?
В проекте login нет только в настройках spring-security.
...
Рейтинг: 0 / 0
Spring 4 URL Question
    #39270043
kadet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Andrey3k]kadetAndrey3k,

Вопрос что скрывается за /modules/login. Что вызывается если мы попали на УРЛ /modules/login ?

вообще-то запись в контроллере
Код: java
1.
"redirect:/modules/login"

мне кажется странными. Потому что если ресурс закрыт каким-то правилом от spring-security, то задача вызова url "/modules/login" лежит "на плечах" spring-security.

если же в контроллере таки стоит такой возврат, то очевидно разработчик хочет, чтобы пользователь залогинился вновь. Возможно пользователю нехватает каких-то прав (мне так думается). В таком случае в коде следует ожидать сначала "сброса" регистрации пользователя.
...
Рейтинг: 0 / 0
Spring 4 URL Question
    #39270049
kadet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
грубая теория:

spring-security работает достаточно прозрачно.
В файле конфигурации разработчик опредиляет правила доступа к тому или иному ресурсу. Если у пользователя нет таких прав то spring-security уводит его на страничку с логином. В противном случае доступ к ресурсу свободен
...
Рейтинг: 0 / 0
Spring 4 URL Question
    #39270329
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1- заменить на RedirectView вместо строки ...

то что делается у вас : ,скорее всего , по умолчанию у спринга есть своя форма логина и пароля для всех типов авторизации (form-login | basic)

и если вы ее не переопределили - то будет вызваться родная форма по умолчанию ,

Вы лишь ему указываете на какой урл что ему мапить из того что у него есть ... а у него есть

login|logout |login?error итд

(кстати кто знает как ей задать i18n ?)

что можно в вашем случае - создать login.jsp - положить его в проект в нем указать поля по умолчанию

usernameParameter("username").passwordParameter("password")

чтобы спринг полнят что откуда тащить ...

url для фильтра авторизации по умолчанию

login-processing-url="/j_spring_security_check"

или свой контроллер!

определить мапинг для jsp через jspViewResolver или если у вас нет jsp можно и на прямую через ViewControllerRegistry

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {

    @Bean(name = "jspViewResolver")
    public InternalResourceViewResolver jspViewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/jsp/");
        resolver.setSuffix(".jsp");
        resolver.setViewClass(JstlView.class);
        resolver.setOrder(1);
        return resolver;
    }

// 
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("index");
    }




мой пример :

у меня нет свой формы логина - используется форма по умолчанию ...
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {

        http
                .authorizeRequests()
                .antMatchers("/").permitAll()
                .antMatchers("/edit/**").hasAnyRole("MANAGER", "ADMIN") // TODO убрать
                .anyRequest().authenticated()
                .and()
                .formLogin()
                .successHandler(loginSuccessHandler())
                .and()
                .logout()
                .logoutUrl("/logout")
                .logoutSuccessUrl("/")
                .addLogoutHandler((LogoutHandler) logoutSuccessHandler())
                .logoutSuccessHandler(logoutSuccessHandler()); //

        //в ldap это не испльзуется 
//                .and()
//                .rememberMe();
//        
        http
                .logout()
                .invalidateHttpSession(true)
                .permitAll();

//        http
//                .authorizeRequests()
//                .antMatchers("/").permitAll()
//                .antMatchers("/support/**").hasRole("SUPPORT")
//                .anyRequest().authenticated()
//                .and()
//                .httpBasic();
//                .formLogin()
//                //.loginPage("/login")
//                .defaultSuccessUrl("/", true)
//                //.failureUrl("/login?error")
//                .usernameParameter("username").passwordParameter("password")
//                .permitAll()
//                .and()
//                .logout()
//                //.logoutUrl("/logout")
//                //.logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
//                //.logoutSuccessUrl("/logout")
//                .invalidateHttpSession(true)
//                .permitAll();
        http
                .sessionManagement().maximumSessions(1)
                .and()
                .invalidSessionUrl("/");

        http
                .csrf();

        http
                .headers()
                .addHeaderWriter(new StaticHeadersWriter("X-Content-Security-Policy", "default-src 'self'"))
                .addHeaderWriter(new StaticHeadersWriter("X-WebKit-CSP", "default-src 'self'"));

    }

    @Override
    public void configure(WebSecurity web) throws Exception {
        web
                .ignoring()
                //.antMatchers("/") // -->  если откомментить то все фильры снимутся и принципала не будет http://www.baeldung.com/security-none-filters-none-access-permitAll
                .antMatchers("/media/**/*.{js,html,css}")
                .antMatchers("/favicon.ico", "/about");
    }
...
Рейтинг: 0 / 0
Spring 4 URL Question
    #39270333
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в Документции красивее все описано

http://docs.spring.io/spring-security/site/docs/3.2.x/guides/form.html
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring 4 URL Question
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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