我正在尝试为我的其他应用添加spring-security.我在春季网站上按照教程(https://spring.io/guides/tutorials/spring-security-and-angular-js/)进行操作,但它使用了我不想使用的spring-boot组件,也许问题在这里.
我的安全配置在这里:
@Configuration
@Order(2147483636)
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.httpBasic().and().authorizeRequests()
.antMatchers("/rest", "/").permitAll().anyRequest()
.authenticated().and().csrf()
.csrfTokenRepository(csrfTokenRepository()).and()
.addFilterAfter(csrfHeaderFilter(), CsrfFilter.class);
}
private Filter csrfHeaderFilter() {
return new OncePerRequestFilter() {
@Override
protected void doFilterInternal(HttpServletRequest request,
HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
CsrfToken csrf = (CsrfToken) request.getAttribute(CsrfToken.class
.getName());
if (csrf != null) {
Cookie cookie = WebUtils.getCookie(request, "XSRF-TOKEN");
String token = csrf.getToken();
if (cookie == null || token != null
&& !token.equals(cookie.getValue())) { …Run Code Online (Sandbox Code Playgroud) UPD:最后这个功能是有效的,从命令行运行项目,但不是来自IntellijIdea.如何强制Junit在intellijidea中使用-parameters标志?
我有一个使用spring数据jpa和hibernate的java应用程序.我正在使用Java8来运行它,这是我的示例CrudRepository:
public interface CRepository extends CrudRepository<C, Integer> {
@Transactional(readOnly = true)
@Query("select sum(cnt.went-cnt.left) from C cnt " +
"where cnt.shop = :shop " +
"and cnt.time between :startDate and :endDate")
int sumBetweenDatesByShop(Shop shop, Timestamp startDate, Timestamp endDate);
}
Run Code Online (Sandbox Code Playgroud)
当我运行单元测试以检查它是否正常工作时,我遇到了这样的异常:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: Name for parameter binding must not be null or empty! For named parameters you need to use @Param for query method parameters on Java versions < 8.; nested exception is java.lang.IllegalArgumentException: Name …Run Code Online (Sandbox Code Playgroud) 我正在关注https://material.angularjs.org/latest/layout/alignment上的文档.
我试图垂直和水平对齐我的div,它适用于水平对齐但不适用于垂直.div的来源如下:
<div layout="column" layout-align="center center" class="text-center">
<md-content>
<h2>Test h2</h2>
</md-content>
<form ng-controller="LoginController as login" ng-submit="login.login()"
ng-cloak class="text-center">
<md-content>
Login or ,<br/>
register test br
<md-input-container class="md-block">
<label>Your email address</label>
<input ng-model="login.user.email" type="email" required>
</md-input-container>
<md-input-container class="md-block">
<label>Your password</label>
<input ng-model="login.user.password" type="password" required>
</md-input-container>
<div class="md-block">
<md-button type="submit" class="md-raised md-primary">Log in</md-button>
</div>
</md-content>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
这里有什么问题?谢谢你的帮助
我有这个index.html页面:
<html>
<head ng-app="myApp">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Test App/title>
<link rel="stylesheet" href="app.css">
</head>
<body ng-controller="mainController">
<a href="#/index2">index2</a>
<div ng-view></div>
<script src="vendor/angular/angular.js"></script>
<script src="vendor/angular-route/angular-route.js"></script>
<script src="app.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是我的app.js脚本:
'use strict';
var myApp = angular.module('myApp', ['ngRoute'])
.config(function ($routeProvider) {
$routeProvider
.when('/index2', {
templateUrl: 'views/index2.html'
})
.otherwise({redirectTo: '/views/index2.html'});
});
myApp.controller('mainController', function ($scope) {
});
Run Code Online (Sandbox Code Playgroud)
而我的views/index2.html只包含单个123元素.当我点击index.html上的链接时,没有任何反应,没有路由.我错了什么?
upd:我从IntelliJ IDEA运行它,所以我认为没有关于webserver的消息.
我有这样一张桌子:
COLUMN TYPE
------------------------------
ID INTEGER
VALUE INTEGER
TIME TIMESTAMP
Run Code Online (Sandbox Code Playgroud)
如何使用HQL选择按时间单位分组的值列的总和(按天分组的fe)并选择此时间单位作为第二列来编写查询.
我试过这样做并得到类似的东西:但是HQL中没有parsedatetime函数所以我不知道如何才能获得正确的查询.
select sum(value),
parsedatetime(day(time) || '.' || month(time) || '.' || year(time) || ' ' || hour(time) ||':00:00', 'dd.MM.yy hh:mm:ss')
as xtime
from Table
group by time
Run Code Online (Sandbox Code Playgroud)
我希望此查询返回带有2个字段的对象:int和java.sql.Date.
我有这个jquery脚本
$(function() { // <----doc ready starts
$("#btn1").click(function(e) {
e.preventDefault();
var name = $("#id1").val();
var last_name = $("#id2").val();
var dataString = {'name=':name, 'last_name': last_name};
$.ajax({
type: 'POST',
dataType: 'jsonp',
url: 'http://localhost/insert.php',
success: function(data) {
alert(data);
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
而这个php从第一个脚本插入参数到mysql数据库:
<?php
$conn = mysqli_connect('localhost', 'root', '');
$name = $_POST['name'];
$last_name = $_POST['last_name'];
$mysqli = new mysqli('localhost','root','','os');
if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
$insert_row = $mysqli->query("INSERT INTO table_info (name, name2) VALUES($name, $last_name)");
if ($insert_row){
print 'Success! …Run Code Online (Sandbox Code Playgroud)