如何在未经身份验证的情况下更新字段?

时间:2017-11-02 18:08:29

标签: java spring spring-boot spring-security spring-data

更新计数器时如何更新审核员?

在我的数据库中,我有一个名为products的表,我想实现一个访问计数器。这表示没有身份验证的任何人都可以访问此产品。基于此,我得到以下错误,因为它正在尝试更新Auditor(Anonyous):

  

java.lang.ClassCastException:java.lang.String无法强制转换为bla.bla.bla.UserEntity

是否有任何注释告诉spring,该属性可以在没有验证的情况下更新?

一些代码:

@Entity
@EntityListeners(AuditingEntityListener.class)
@Table(name = "Products")
public class ProductEntity extends Auditable<UserEntity> {

...

@NotNull
private Long visit = 0L;

... getters and setters ...
}

在我的控制器中:

@Controller
@RequestMapping(value="/product")
public class productController {

    @Autowired
    ProdutoRepository produtoRepository;

    @RequestMapping(value = "/{idProduct}", method=RequestMethod.GET)
    public ModelAndView findProduct(
            @PathVariable(value="idProduct") int produtoRepository,
            RedirectAttributes redirectAttributes,
            Model model){


        ProductEntity p = produtoRepository.findOne(produtoRepository);

        p.setVisit(p.getVisit() + 1);
        produtoRepository.save(p);

        ...
    }

    ...
}

1 个答案:

答案 0 :(得分:1)

回答一下,我创建了一个新的访问表,没有审核员并且工作得很好。