Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Autowired
- private UserDetailsService userDetailsService;
- @Bean
- public BCryptPasswordEncoder bCryptPasswordEncoder() {
- return new BCryptPasswordEncoder();
- }
- @Override
- public void configure(WebSecurity web) throws Exception {
- web
- .ignoring()
- .antMatchers("/img/**", "/css/**", "/js/**", "/scss/**", "/vendor/**");
- }
- @Override
- protected void configure(HttpSecurity http) throws Exception{
- http.csrf().disable().authorizeRequests()
- .antMatchers("/login","/error","/funcionarioCadastrar").permitAll()
- /*.antMatchers("/funcionarioCadastrar","/funcionarioExcluir","/medicamentoExcluir" ,"/clienteExcluir"
- ).hasRole("ADMIN")*/
- .anyRequest().authenticated()
- .and()
- .formLogin()
- .loginPage("/login")
- .permitAll()
- .and()
- .logout()
- .permitAll();
- }
- @Bean
- public AuthenticationManager customAuthenticationManager() throws Exception{
- return authenticationManager();
- }
- @Autowired
- public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception{
- auth.userDetailsService(userDetailsService).passwordEncoder(bCryptPasswordEncoder());
- }
- public void addViewControllers(ViewControllerRegistry registry) {
- registry.addViewController("/").setViewName("index");
- registry.addViewController("/index").setViewName("index");
- }
- @Override
- protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
- return application.sources(FarmaciaxApplication.class);
- }
- public static void main(String[] args) {
- SpringApplication.run(FarmaciaxApplication.class, args);
- }
- @Autowired
- private UserService userService;
- @Autowired
- private UserRepository userRepository;
- @Autowired
- private SecurityService securityService;
- @Autowired
- private UserValidator userValidater;
- // Método logar no sistema
- @GetMapping({ "/", "/login" })
- public String login(Model model, String error, String logout) {
- if (error != null) {
- model.addAttribute("message", "Login e/ou senha invalidos");
- }else {
- model.addAttribute("message", "Login realizado com sucesso,Bem vindo!");
- }
- if (logout != null) {
- model.addAttribute("message", "Logout realizado com sucesso!");
- }
- System.out.println(error);
- return "login";
- }
- // Buscar Funcionarios
- @GetMapping("/funcionarioBuscar")
- public ModelAndView listar(ModelMap model) {
- model.addAttribute("user", userRepository.findAll());
- return new ModelAndView(" funcionarioBuscar", model);
- }
- // pré cadastra
- @GetMapping("/funcionarioCadastrar")
- public String funcionarioCadastrar(@ModelAttribute("user") User user) {
- return "/funcionarioCadastrar";
- }
- // Cadastrar
- @PostMapping("/funcionarioCadastrar")
- public String salvar(@Valid @ModelAttribute("user") User user, BindingResult result, RedirectAttributes attr) {
- if (result.hasErrors()) {
- return "/funcionarioCadastrar";
- }
- userService.save(user);
- attr.addFlashAttribute("message", "Funcionario salvo com sucesso.");
- return "redirect:/funcionarioCadastrar";
- }
- <form th:action="@{/cadastrarFuncionario}" th:method="${user.id} == null ? post : put" th:object="${user}">
- <div class="form-row">
- <input id="id" type="hidden" th:field="*{id}" />
- <div class="form-group col-md-6">
- <label for="username">Login</label>
- <input type="text" class="form-control" id="username" name="username" th:field="*{username}" placeholder="Login de usuário"/>
- <div th:if="${#fields.hasErrors('username')}" th:errors="*{username}"></div>
- </div>
- <div class="form-group col-md-6">
- <label for="password">Senha</label>
- <input type="password" class="form-control" id="password" name="password" th:field="*{password}" placeholder="Senha"/>
- </div>
- </div>
- <div class="form-row">
- <div class="form-group col-md-6">
- <label for="name">Nome</label>
- <input type="text" class="form-control" id="name" name="name" th:field="*{name}" placeholder="Nome">
- </div>
- <div class="form-group col-md-6">
- <label for="inputCity">Salario</label>
- <input type="text" class="form-control" id="salary" name="salary" th:field="*{salary}" placeholder="Ex... 998.00" />
- </div>
- </div>
- <div class="form-row">
- <div class="form-group col-md-6">
- <label for="inputAddress2">CPF</label>
- <input maxlength="11" type="text" class="form-control" id="cpf" name="cpf" th:field="*{cpf}" placeholder="CPF"/>
- <div th:if="${#fields.hasErrors('cpf')}" th:errors="*{cpf}" class="label label-danger"></div>
- </div>
- <div class="form-group col-md-6">
- <label for="roles">Perfil</label>
- <input maxlength="5" type="text" class="form-control" id="roles" name="name" th:field="*{roles}" placeholder="admin , user"/>
- <div th:if="${#fields.hasErrors('roles')}" th:errors="*{roles}" class="label label-danger"></div>
- <!--
- <select th:field="*{roles}" class="form-control" id="roles" >
- <option th:text="${roles.name}" th:value="${roles.id}" th:each="roles: ${roles}"></option>
- </select>
- -->
- </div>
- </div>
- <button type="submit" class="btn btn-primary">Cadastrar</button>
- <a th:href="@{/funcionarioCadastrar}" class="btn btn-danger">Cancelar</a>
- </form>
- </div>
- <div class="card-footer small text-muted">Atualizado Hoje 03/05</div>
- </div>
- </div>
- <!-- /.container-fluid --
- <!-- Sticky Footer -->
- <footer class="sticky-footer">
- <div class="container my-auto">
- <div class="copyright text-center my-auto">
- <span>Copyright © Farmacia XYZ 2019</span>
- </div>
- </div>
- </footer>
- </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement