role should not start with 'ROLE_' since it is automatically inserted. Got 'ROLE_ADMIN'
private static String hasAnyRole(String... authorities) {
String anyAuthorities = StringUtils.arrayToDelimitedString(authorities, "','ROLE_");
return "hasAnyRole('ROLE_" + anyAuthorities + "')";
}
private static String hasRole(String role) {
Assert.notNull(role, "role cannot be null");
if (role.startsWith("ROLE_")) {
throw new IllegalArgumentException("role should not start with 'ROLE_' since it is automatically inserted. Got '" + role + "'");
}
return "hasRole('ROLE_" + role + "')";
}
http.
authorizeRequests()
.antMatchers("/", "/login").permitAll()
.antMatchers("welcome").hasAnyRole("USER", "ADMIN")
.antMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated() //TODO Розобраться что это-такое
.and()
.formLogin()
.loginPage("/login").failureUrl("/login?error")
.defaultSuccessUrl("/welcome")
.usernameParameter("username")
.passwordParameter("password")
.and().logout()
.logoutSuccessUrl("/login?logout");
http {
...
limit_req_zone $binary_remote_addr zone=reqlimit:10m rate=30r/s;
...
}
server {
...
location / {
...
limit_req zone=reqlimit burst=10 nodelay;
}
}
[Definition]
failregex = limiting requests, excess: .* by zone .*, client: <HOST>
ignoreregex =
[nginx-req-limit]
enabled = true
port = http,https
filter = nginx-req-limit
logpath = /var/www/*/*/logs/error.log # Здесь укажите свой путь к логам виртуального хоста
findtime = 600
maxretry = 10
bantime = 7200
<td th:text="${user.name}" ng-show="shouldShowUsername()">Username</td>
th:removetag
, но тоже не всегда. В одном из случаев мы пытались генерировать блок стилей в head страницы и у Thymeleaf, насколько я помню, были проблемы с этим (возможно, починили).do {
System.out.println("Введите данные: ");
} while(!input());
System.out.println("Введите данные: ");
while(!input()) {
System.out.println("Ошибочный ввод. Попробуйте еще раз: ");
}
private boolean input()
{
// Считываем данные, проверяем их на валидность и возвращаем true - если ввод валиден и false - если невалиден.
}
@Component
public class ClientFactory
{
@Value("${api.certificate.path}")
private String certificatePath;
@Value("${api.certificate.password}")
private String certificatePassword;
@Value("${api.params.site}")
private String paramSite;
/**
*
* @return
* @throws Throwable
*/
public OkHttpClient createClient() throws Throwable
{
return new OkHttpClient.Builder()
.socketFactory(createSslContext().getSocketFactory())
.build();
}
/**
*
* @return
* @throws Throwable
*/
private SSLContext createSslContext() throws Throwable
{
KeyStore ks = getCertificateKeyStore();
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(ks, certificatePassword.toCharArray());
SSLContext sslContext = SSLContext.getInstance("SSL");
sslContext.init(kmf.getKeyManagers(), trustAll509(), new java.security.SecureRandom());
return sslContext;
}
/**
* @return
*/
private TrustManager[] trustAll509()
{
return new TrustManager[] {
new X509TrustManager() {
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {}
public X509Certificate[] getAcceptedIssuers() {return null;}
}
};
}
}
Вот к примеру выборку я делаю с помощью Criteria, а писать в БД как я понял критерия не умеет, по этому использую hql запросы
Вопрос: какой смысл тогда с критерии если она умеет только выборки делать ?
Есть ли что-то единственое удобное для выборки, записи, удаления и т.п. ? (JPA?)
И что ещё посоветуете учить паралельно с hibernate для поднятия скила и лёгкого старта в Spring mvc ?