Spring Framework - JDB C Вход - PullRequest
       0

Spring Framework - JDB C Вход

0 голосов
/ 08 февраля 2020

Я пытался создать простую страницу входа JDB C с пружиной, и я не знаю, как решить эту проблему. Я ввожу правильное имя пользователя и пароль, как показано в реальной базе данных, но он не регистрирует меня?

Он должен войти в систему, а затем перенаправить меня на страницу управления только для сотрудников. Но все оказывается ошибкой входа

Контроллер входа:

@Controller
public class LoginController {

@Autowired
private UserServiceImpl userService;

@GetMapping("/login")
public String showLoginForm(Model model) {

    User user = new User();
    model.addAttribute("user", user);

    return "login";
}

@PostMapping("/processLogin")
public String processLogin(@ModelAttribute("user") User user, Model model) {

    if (userService.findUser(user.getUsername(), user.getPassword()) == null) {
        return "/access-denied";
    } else {
        return "/management/dashboard";
    }
}

@GetMapping("/access-denied")
public String accessDenied(Model model) {
    return "access-denied";
}

Форма входа (JSP Страница):

<form:form method="post" modelAttribute="user"
                action="${pageContext.request.contextPath}/processLogin">

                <div class="form-group">
                    <div class="form-label-group">
                        <label for="inputUser">Username: </label> <input name="username"
                            type="text" path="username" id="inputUser" class="form-control"
                            placeholder="Username" required="required" autofocus="autofocus">
                    </div>
                </div>

                <div class="form-group">
                    <div class="form-label-group">
                        <label for="inputPassword">Password: </label> 
                        <input name="username" type="password" path="password"
                            id="inputPassword" class="form-control" placeholder="Password"
                            required="required">
                    </div>
                </div>

                <div class="form-group">
                    <div class="checkbox">
                        <label> <input type="checkbox" value="remember-me">
                            Remember Password
                        </label>
                    </div>
                </div>

                <input type="submit" value="Login"/>

            </form:form>

USO DAO (запрос для пользователя):

@Autowired
private SessionFactory sessionFactory;

@Override
@Transactional
public User findUser(String username, String password) {

    Session session = sessionFactory.getCurrentSession();

    session.beginTransaction();

    Query<User> theQuery = session.createQuery("from User 
    where username=:username", User.class);
    User user = theQuery.getSingleResult();

    session.close();

    if (user.getPassword().equals(password)) {
        return user;
    }

    return null;
}

Пользователь:

@Entity
@Table(name = "users")
public class User {

@Column(name = "username")
private String username;

@Column(name = "password")
private String password;

public User(String username, String password) {
    this.username = username;
    this.password = password;
}

public User() {

}

// and all the getters/setters

Таблица базы данных:

CREATE TABLE `users` (
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
`enabled` tinyint(1) NOT NULL,
PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;



INSERT INTO `users` 
VALUES 
('john','{noop}test123',1),
('mary','{noop}test123',1),
('susan','{noop}test123',1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...