• Почему браузер не видит стили?

    XXXXPro
    @XXXXPro
    Fullstack Web developer
    Да, нужно сделать проверку, что файла не существует. Т.е.
    RewriteEngine on
    RewriteBase /internet-shop/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php
    Ответ написан
    2 комментария
  • Как поменять цвет в bootrap 4?

    xtala
    @xtala
    Постигает Дзен
    Но не могу найти те классы, которые отвечает за цвета в меню. (обычный, при наводке, активный). Пытался всякие использующие классы тут присваивать новые стили. но без толку. какой серым была, таким и остался.

    Судя по всему вам надо сделать шаг назад и попробовать толком освоить CSS и его правила. В частности понять что такое приоритет (или вес) стиля элемента и как он считается, а так же как его поднимать. Неплохо было бы еще изучить средства отладки встроенные в браузер, чтобы понимать какое свойство отвечает за выбранный элемент.
    В данном случае страницу надо открыть в браузере ткнуть правой кнопкой мышки --> просмотреть код, на интересующий элемент и понять каким правилом CSS он описывается. Затем создать для этого элемента свое правило с более высоким приоритетом. Самый простой путь присвоить правилу свойство !important, но это плохая практика, которая простительна только новичкам, т.к. при дальнейшей доработке это свойство может смешать все карты.
    Подробнее про приоритеты стиля элемента здесь:
    htmlbook.ru/samcss/kaskadirovanie
    Ответ написан
    2 комментария
  • Как генерировать ссылку на профиль пользователя через MVC?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Ну, к примеру так:

    @RequestMapping(value = {"/url/to/profileAction/{id}"}, method = RequestMethod.GET)
    public ModelAndView profileAction(@PathVariable("id") Long id) {
    	ModelAndView modelAndView = new ModelAndView();
    	modelAndView.setViewName("profile");
    	
    	UserDTO data = getUserDTOsService().getById(id);
    
    	if (data != null) {
    		modelAndView.getModel().put("data", data);
    		return modelAndView;
    	}
    	
    	return "redirect:/";/*ну или бросить исключение, что нет пользователя*/
    }
    Ответ написан
    1 комментарий
  • Как выводить данные пользователя на JSP?

    al_gon
    @al_gon
    @RequestMapping(value = { "/", "/welcome" }, method = RequestMethod.GET)
    	public String welcome(Model model) {
    
    		User user = authorizedUser.getUserByUsername();
    		System.err.println("Отработал контроллер /welcome  Name: " + user.getUsername() + " Email: " + user.getEmail()
    				+ " Password: " + user.getPassword());
    		model.addAttribute("user", user);
    
    		return "welcome";
    	}


    В JSP ${user.name}

    P.S.: Код не проверял!
    Ответ написан
    3 комментария
  • Как получить залогиненого пользователя в Spring Security?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    К примеру, как то так (кусок кода из контроллера):
    // check if user is login
    Authentication auth = SecurityContextHolder.getContext().getAuthentication();
    if ((!(auth instanceof AnonymousAuthenticationToken)) && auth != null) {
    	UserDetails userDetail = (UserDetails) auth.getPrincipal();
    
    	if (userDetail != null) {
    		model.addObject("username", userDetail.getUsername());
    	} else {
    		model.addObject("username", "");
    	}
    }
    ,

    В конфиге безопасности есть такое:
    <authentication-manager alias="authenticationManager">
            <authentication-provider user-service-ref="usersManager">
                <password-encoder hash="bcrypt"/>
            </authentication-provider>
        </authentication-manager>


    В конфиге контекста приложения объявлен usersManager:
    <bean id="usersManager" class="org.whatever.impl.UsersServiceImpl">
            <property name="usersDAO" ref="usersDAO"/>
            <property name="languageDao" ref="languagesDAO"/>
            <property name="roleDAO" ref="roleDAO"/>
            <property name="usersViewDAO" ref="usersViewDAO"/>
    </bean>

    Ну и сам UsersServiceImpl имеет такой вид:
    package org.whatever.impl;
    /*импорты убрал */
    /* интерфейс UsersService наследует org.springframework.security.core.userdetails.UserDetailsService */
    public class UsersServiceImpl extends ServiceBase implements UsersService {
    
        @Autowired
        private UsersDAO usersDAO;
    
        public void setUsersViewDAO(UsersViewDAO usersViewDAO) {
            this.usersViewDAO = usersViewDAO;
        }
    
        public UsersDAO getUsersDAO() {
            return usersDAO;
        }
    
    	/*сократил код*/
    
        /**
         * Детали по пользователю, полученному из базы
         */
        @Override
        @Transactional(readOnly = true)
        public UserDetails loadUserByUsername(String login) throws UsernameNotFoundException {
            User userFromDb = this.getUsersDAO().getUserByLogin(login);
    
            if (userFromDb != null) {
                return new org.whatever.UserView(userFromDb); /*применяет org.springframework.security.core.userdetails.UserDetails*/
            }
    
            String result = new Formatter().format("User with login %s not found", login).toString();
            throw new UsernameNotFoundException(result);
        }
    }
    Ответ написан
    Комментировать