我使用的是Spring Boot版本(2.0.1),我的安全性有问题,所以当我尝试使用ajax发出请求时,如下所示:
$.ajax({
url : "http://localhost:8080/utilisateurs/addUser",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
type : "POST",
data : user,
dataType : "application/json"
}
我收到HTTP错误403,我知道此错误的含义(用户可以登录服务器但没有正确的权限),但问题是我没有使用任何安全模块这是我的依赖项pom.xml文件:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-rest-hal-browser</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
那么谁可以阻止请求,Spring启动中是否有任何内部模块如何启用安全性,请参阅我以前的帖子
先谢谢你。
答案是在服务器端管理CORS,给web服务添加@CrossOrigin注释,web服务变成这样:
package com.sid.webService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.sid.dao.entity.Utilisateur;
import com.sid.metier.IMetierUtilisateur;
@Component
@RestController
@RequestMapping("/utilisateurs")
public class webServiceUtilisateur {
@Autowired
private IMetierUtilisateur mr;
@CrossOrigin
@RequestMapping(value="/addUser",method=RequestMethod.POST)
public boolean addUser(@RequestBody Utilisateur u)
{
try
{
mr.ajouterUtilisateur(u);
return true;
}
catch(Exception e)
{
System.out.println(e.getMessage());
return false;
}
}
}
如果您想要更多自定义,请添加您将访问Spring后端的所有域,并将它们放在属性来源中,如下所示:
@CrossOrigin(origins="http://localhost:8080/utilisateurs/")
@RequestMapping(value="/addUser",method=RequestMethod.POST)
public boolean addUser(@RequestBody Utilisateur u)
{
try
{
mr.ajouterUtilisateur(u);
return true;
}
catch(Exception e)
{
System.out.println(e.getMessage());
return false;
}
}
}
问题内容: 我一直想知道这一点:是否可以保证多次导入模块都是安全的?当然,如果模块执行操作系统之类的操作,例如写入文件之类的东西,则可能不会,但是对于大多数简单模块而言,简单地随意执行导入是否安全?是否有规范模块全局状态的约定? 问题答案: 是的,无论它是什么模块,您都可以在一个Python程序中进行任意多次。在第一个之后的每个后续访问访问缓存的模块,而不是重新评估它。
正在尝试在Fedora21、Python 2.7上安装Biopython。我做了以下几件事 然后 我做错了什么? 编辑 我尝试安装biopython使用 并将其安装到/usr/lib/python2.7/site packages/biopython-1.65-py2.7-linux-x86_64.egg/中。没用。 然后我尝试使用相同的命令安装它,但没有使用sudo: 安装到 /home/mik
问题内容: 我刚刚重新安装了Ubuntu 12.04 LTS,在执行任何其他操作之前,请执行以下步骤 : 使用以下脚本通过程序包管理器安装节点 尝试在全球安装yeoman,express,n,yeoman的生成器,并且它们均返回相同的错误 npm ERR!错误:EACCES,符号链接“ ../lib/node_modules/n/bin/n” npm ERR!{[错误:EACCES,符号链接’..
我没有使用Spring Security性,但它要求我进行身份验证。 URL例外(http://localhost:8080/SpringJob/ExecuteJob): application-dev.xml build.gradle片段 控制器
问题内容: 我有一个包含许多文件的目录。每个文件定义一些类。我的目录中也有一个空白。 例如: 我正在尝试导入和访问所有这些文件中定义的类: 这给我一个错误的说法,即没有属性。为什么?为什么我只能访问其中一个文件(),而不能访问其他文件? 问题答案: 问题是子模块不会自动导入。您必须显式导入模块: 如果您真的坚持要在导入时可用,则可以输入以下内容: 然后,这将按预期工作:
我部署了一个定义了远程EJB的全局模块,但我无法从部署的应用程序访问它们。 以下是界面: 既然默认的@Ejb找不到bean,我如何找到部署的Ejb的jndi名称?值得一提的是,jboss cli中的/subsystem=naming:jndi-view()没有打印任何关于已部署模块的信息,并且在wildfly日志中没有错误。 也许,在全局模块中定义可注入ejbs是不可能的?