0
私たちはSpring MVC 4.0を使用していますが、データベースに対してユーザーを認証することはできません。Spring MVCがデータベースと認証されていない
Pagresの認証は正常ですが、有効なユーザーとのログインはできません。すべてのユーザーはアプリケーションに参加できますが、データベースには存在しません。
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.justinfact.web.*")
public class WebConfig extends WebMvcConfigurerAdapter {
private UsuarioDAO usuarioDAO;
private CatalogosDAO catalogosDAO;
private CFEDAO cfeDAO;
/**
* Registra la base de datos de backend, creando un connection pool.
*
* @return DataSource
*/
@Bean
public DataSource dataSource() {
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName("com.mysql.jdbc.Driver");
basicDataSource.setUrl("jdbc:mysql://localhost:3306/db");
basicDataSource.setUsername("xxxxx");
basicDataSource.setPassword("xxxxx");
basicDataSource.setInitialSize(5);
basicDataSource.setMaxActive(10);
basicDataSource.setAccessToUnderlyingConnectionAllowed(true);
return basicDataSource;
}
/**
* Se registra el template para trabajar con JDBC
*
* @return JdbcTemplate
*/
@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
でもデータソース構成は正常に動作していますが、クエリが実行されていないようです。私たちは、クエストをテストし、私たちのために正常に動作します。
<div class="contenedor">
<img src="<s:url value='resources' />/images/logo.jpg" width="220" height="90" border="0" />
<h1>
Acceso Sistema
</h1>
<br>
<c:url value="login" var="loginURL"/>
<sf:form id="homeForm" action="${loginURL}" method="POST" commandName="user">
<c:if test="${param.error != null}">
<p>Usuario o clave incorrecta</p>
</c:if>
<c:if test="${param.logout != null}">
<p>Ha salido correctamente de la aplicación</p>
</c:if>
<div class="div_form">
<sf:input path="rut" placeholder="RUT empresa"/>
</div>
<div class="div_form">
<sf:input path="username" placeholder="nombre de usuario"/><sf:errors path="username" />
</div>
<div class="div_form">
<sf:password path="password" placeholder="contraseña"/>
</div>
<div><a id="ingresar" href="#">Acceder</a></div>
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
</sf:form>
そして、私たちは、この操作を管理するための基本的なコントローラのファイルがあります:ログインページは、標準の一つであり、我々は間違った方法をやっている
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
/**
* Simply selects the home view to render by returning its name.
*/
@RequestMapping(value = "home", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
logger.info("Welcome home! The client locale is {}.", locale);
/*
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
model.addAttribute("serverTime", formattedDate);
*/
model.addAttribute("user",new Login());
return "home";
}
/**
* Realiza la gestión de la operación de login/acceso al sistema con usuario y clave.
*
* @param user
* @param model
* @return
*/
@RequestMapping(value = "login", method = RequestMethod.POST)
public String login(@Valid Login user, Model model, Errors errors) {
logger.info("en Login");
logger.info(errors.toString());
logger.info(user.toString());
System.out.println(user);
model.addAttribute("user", user);
return "login";
}
}
を?事前解決
例外はありますか? – kuhajeyan
btw、anyRequest() - anyRequest()。hasAnyRole( "ROLE_USER、ANONYMOUS")に 'anonymus'を指定してもよろしいですか? – kuhajeyan
例外はありません。次のページに移動する代わりに、ユーザーは無効です。私はSpring Securityで "/ login"アクションをどこで使うべきか、それを呼び出す方法はわかりません – user1748166