LINUX.ORG.RU

Сообщения alexsandr753

 

regexp ловушка

Форум — General

Всем доброго времени суток. Подскажите как правильно собрать регулярку, чтобы достать «308014». Я не понимаю почему положительный lookahead срабатывает только на вторые скобки «]}{[», есть идеи почему так? Сразу оговорюсь, что само значение нужно искать с помощью .* потому, что эта регулярка будет юзаться в разных кейсах. И вообще значения могут быть любые, поэтому я отталкиваюсь от скобок

Вот регулярка: (?<={\[version\]}{\[).*(?=\]}{\[)

Вот строка: {[device_model]}{[iPhone XS]}{[version]}{[308014]}{[device_model]}{[iPhone XS]}

Вот ответ: 308014]}{[device_model

 

alexsandr753
()

Многопоточность в java

Форум — Development

Здравствуйте. Как именно работает метод start у Thread'а? Именно в кишочках, там внутри. Пока что все мои знания ограничиваются тем, что этот метод запускает новый поток и вызывает run, фсе :)

 ,

alexsandr753
()

Принцип работы Tomcat?

Форум — Development

Доброго времени суток, я задался вопросом, как именно работают контейнеры сервлетов, в частности tomcate. И, к сожалению, вменяемой информации на просторах интернета не нашел. Все какие-то туторы про написание web-приложений)) Я же старался найти инфу о том, как это все живет под капотом. Буду благодарен если вы еще расскажете о jBoss и GlassFish, какая у них специфика и различия

 , ,

alexsandr753
()

Как отделить страницы разных пользователей

Форум — Development

Вопрос, возможно, тривиальный, но почему-то решения я найти никак не могу. С использованием Spring boot, security, jpa и thymeleaf я создал форму логина и форму регистрации, в бдшке лежит несколько пользователей, при успешном логине всех просто кидает на тестовую страничку где написано «hi», мне же нужно сделать так чтобы я мог выдернуть всю необходимую информацию из залогиневшегося пользователя и построить страницу его профиля, если поможете будет приятно, а если кинете годный тутор будет еще приятнее, просто почему-то все туторы заканчиваются именно на этом месте

Вот обычная форма логина, на всякий случай поскидываю)

<body>
<div class="containerHB">

<h >HobNob</h>
</div>
<div class="container">
    <form method="post" th:action="@{/login}">
        <div class ="dws-input">
        <input type="text" name="username" id="username" autofocus="autofocus" placeholder="Enter login...">
        </div>
        <div class ="dws-input">
        <input type="password" name="password" id="password" placeholder="Enter password...">
        </div>
        <div class ="dws-submit-sign">
            <input class="dsw-submit-sign" type="submit" value="Log in">
        </div>
        <div >
            <input class="dsw-submit-registration" type="button" name="submit"  value="Registration" onclick="location.href='http://localhost:8080/registration';">
        </div>

    </form>
</div>
</body>

Вот контроллер

import com.example.finaltry.model.User;
import com.example.finaltry.service.MyUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

@Controller
public class UserController {

    @Autowired
    MyUserService service;

    @GetMapping("/")
    public String start(){
        return "userPage";
    }

    @RequestMapping(value = "/login")
    public String getLogin(@RequestParam(value = "error", required = false) String error,
                           @RequestParam(value = "login", required = false) String login,
                           Model model){
        model.addAttribute("error", error!=null);
        model.addAttribute("login", login!=null);
        return "login";
    }

    @RequestMapping(value = "/registration", method = RequestMethod.GET)
    public String  getUser(Model model){
        model.addAttribute("newUser", new User());
        return "registration";
    }

    @RequestMapping(value = "/registration", method = RequestMethod.POST)
    public String setUser(@ModelAttribute User user){
        service.addUser(user);
        return "login";
    }
}

 ,

alexsandr753
()

Кастомная форма логина в Spring security ничего не делает и просто редиректит на себя же

Форум — Development

Здравствуйте я начинающий программист, так что просьба не кидаться тапками, возникла следующая проблема со Spring Security, используя Spring boot parent 2.0.1RELEASE, я сначала настроил security так чтобы он брал пользователей из бд, все отработало без ошибок, в логах видны запросы к бд, меня редиректнуло в корень, в общем все как надо отработало, но как только я добавил свою форму, при нажатии сабмита, меня просто так же редиректит на саму страницу логина, запросов к бд нет, но эта форма ловит все поползновения к корню, и соответственно я не могу попасть внутрь, я уже просто в тупике ребят, вот конфигурация security

import com.grabduck.demo.springsecurity.services.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Autowired
    private UserService userService;

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .antMatchers("/readme.txt", "/css/*").permitAll()
                .anyRequest().authenticated()
                .and()
                .formLogin().loginPage("/login").permitAll()
                .and()
                .logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout")).permitAll();

    }

    @Bean
    public PasswordEncoder bcryptPasswordEncoder() {
        return new BCryptPasswordEncoder();
    }

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth
                .userDetailsService(userService)
                .passwordEncoder(bcryptPasswordEncoder());
    }
}
И контроллер
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class UserController {

    @RequestMapping("/")
    public String start(){
        return "index";
    }

    @RequestMapping("/login")
    public String getLogin(@RequestParam(value = "error", required = false) String error,
                           @RequestParam(value = "login", required = false) String login,
                           Model model){
        model.addAttribute("error", error!=null);
        model.addAttribute("login", login!=null);
        return "login";
    }
}
И мой шаблон на thymekeaf

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1"/>

    <link href="../static/css/style.css" th:href="@{/css/style.css}" rel="stylesheet"/>

    <title>HobNob.Authorization</title>
</head>
<body>
<div class="containerHB">

<h >HobNob</h>
</div>
<div class="container">
    <form th:action="@{/login.html}" method="post">
        <label for="username">Username</label>:
        <input type="text" id="username" name="username" autofocus="autofocus" placeholder="Username"/> <br />
        <label for="password">Password</label>:
        <input type="password" id="password" name="password" placeholder="Password"/> <br />
        <button type="submit">sub</button>
    </form>
</div>
</body>
</html>

Я не знаю что еще можно скинуть, ибо все остальное без кастомной формы работает

 ,

alexsandr753
()

RSS подписка на новые темы