当前位置: 首页 > 知识库问答 >
问题:

spring在使用spring安全时无法取消马歇尔豆子

公冶谦
2023-03-14

我有一个从org.springframework.security.core.userdetails.user扩展而来的bean,并将这个bean与openid一起使用。bean看起来像:

package com.employee;

import java.util.Collection;

import javax.xml.bind.annotation.XmlRootElement;

import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.User;

@XmlRootElement(name="Employee")
public class Employee extends User{

    private int empId;
    private String deptName;

    public Employee() {
        super("", "unused", null);
    }
     public Employee(String username, Collection<GrantedAuthority> authorities) {
           super(username, "unused", authorities);
       }

    public int getEmpId() {
        return empId;
    }
    public void setEmpId(int empId) {
        this.empId = empId;
    }
    public String getDeptName() {
        return deptName;
    }
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
}

控制器将Employee的实例接受为:

@RequestMapping(值=“/addemp.do”,方法=RequestMethod.Post)public@ResponseBody String addEmployee(@RequestBody Employee emp){...}

我发送了一个带有以下正文的POST请求:

<?xml version="1.0" encoding="UTF-8"?>
<Employee>
    <empId>10</empId>
    <deptName>abc</deptName>
</Employee>

但在调用addEmp操作时会出现以下JAXB异常:

2012-12-16 15:25:55,364{HH:mm:ss} DEBUG [http-bio-8080-exec-1] (AbstractHandlerExceptionResolver.java:132) -
Resolving exception from handler [public java.lang.String com.main.EmpController.addEmployee(com .employee.Employee)]: 
org.springframework.http.converter.HttpMessageNotReadableException: Could not unmarshal to 
[class com.employee.Employee]: Unable to create an instance of com.employee.Employee; nested exception is 
javax.xml.bind.UnmarshalException: Unable to create an instance of com.employee.Employee

共有1个答案

巢德华
2023-03-14

错误消息:

无法创建com.employee的实例

可能暗示输入未提供有效的员工属性。在构造函数中

public Employee() {
    super("", "unused", null);
}

默认用户名设置为“”,但spring安全不接受空白用户名。

 类似资料:
  • 问题内容: 我正在使用JAXB marshaller创建和格式化我的.xml文件。除了一个地方,它运作良好。缩进缺少两个地方: .xml文件的其余部分看起来不错。我正在使用这种方法来美化整个代码: 不幸的是,它不适用于这两个元素。有任何想法吗? 问题答案: 可以通过将javax Transformer应用于输出来解决此烦人的问题。

  • 我的应用程序需要在Java和XML之间转换数据。 在转换数据时,我需要区分该值是否存在,该值是否显式设置为null,或者该值是否有值。 XML示例: 由于像“String”这样的Java类型只知道两种状态(null或notnull),所以我尝试使用Java选项来解决这个问题。 XML和Java选项之间的映射可以如下所示: 我尝试使用JAXB进行编组和解组。其思想是,只有当一个值需要显式地设置为一个

  • 我使用JAXB(MoXY)对XML和JSON中的数据进行编组/解编。 我有一个

  • 我想暂时禁用整个应用程序的Spring Security性,但我总是被403禁止 删除控制器中的@PreAuthorize注释不会给出任何结果。未使用此注释标记的endpoint也会丢弃我 403 禁止 我不需要基本身份验证 我不需要身份验证 我的Spring Security配置:(/,/api/**,/**,**不工作,我总是得到403禁止) 我的一个控制者:

  • 下面是我的pom.xml 这是我的主课 SecurityConfig.Class

  • 你好,我正在尝试按照本教程在我的项目中实现Spring Securityhttp://www.baeldung.com/2011/10/31/securing-a-restful-web-service-with-spring-security-3-1-part-3/#config,在运行我的程序时,我遇到了以下异常- org.springframework.beans.factory。BeanC