我正在开发我的第一个Spring Boot应用程序,我想我忘了在我的项目中添加范围内容。 我的项目中有Spring Web,Spring Security,Spring Data,Thymeleaf。
当用户登录应用程序时,它以其属性启动,但当另一个用户登录时,两个用户都开始查看最后一个用户的属性。
我希望所有用户都拥有自己的属性并且工作得很顺利。
哪种范围适合我的情况?
我是否需要将@Scope注释添加到所有方法中,还是可以在application.properties中基本设置?
非常感谢提前!
编辑: @RequestMapping(value =" /",method = RequestMethod.GET) public ModelAndView home(ModelAndView模型){
String bagliKullaniciAdi=bagliKullaniciAdiniAl();
initializeFolders(bagliKullaniciAdi);
KullaniciEntity kullanici = userServ.findByUsername(bagliKullaniciAdi);
String ad= kullanici.getAd();
String soyad = kullanici.getSoyad();
String tamAd=ad+" "+soyad;
model.setViewName("index");
model.addObject("isim", tamAd);
//initialize
setCtrlKuyruk(true);
setAjxEvrakTur("");
setAjxKategori("");
setAjxBelgeTur("");
setAjxFirma("");
setAjxProje("");
setAjxAciklama("");
setAraEvrak("");
setAraKategori("");
setAraKelime("");
setAraFirma("");
setAraAciklama("");
return model;
}
public String bagliKullaniciAdiniAl(){
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
String username=auth.getName();
return username;
}
public Boolean initializeFolders(String bagliKullaniciAdi){
if("user1".equals(bagliKullaniciAdi)){
setInitKlasor("/user1/");
setInitYol("\\\\as04\\ARSIV\\user1\\");
setInitBelgeAdi(null);
setInitBelgeSayisi(null);
setInitTxt(null);
return true;
}else if("user2".equals(bagliKullaniciAdi)){
setInitKlasor("/user2/");
setInitYol("\\\\as04\\ARSIV\\user2\\");
setInitBelgeAdi(null);
setInitBelgeSayisi(null);
setInitTxt(null);
return true;
}else if..... many users
return false;
}