Ich erstelle eine Webanwendung mit Spring MVC/Security und Hibernate. Ich habe Benutzer- und User_Profile-Tabellen sowie eine JoinTable in der Datenbank erstellt und sie in meiner Anwendung zugeordnet. Wenn sich ein neuer Benutzer anmeldet, möchte ich ihm standardmäßig einen "ROLE_USER" geben.Standardrolle nach der Registrierung eines neuen Benutzers
Ich bin verloren Ich habe keine Ahnung, wie es geht? Und auf welcher Ebene sollte ich ihm eine neue Rolle bei der Registrierung zuweisen?
@Repository("userDao")
public class UserDaoImpl erstreckt AbstractDao implementiert UserDao {
public User findById(int id) {
return getByKey(id);
}
public User findBySSO(String sso) {
Criteria crit = createEntityCriteria();
crit.add(Restrictions.eq("ssoId", sso));
return (User) crit.uniqueResult();
}
public void saveUser(User user) {
persist(user);
}
}
Und das ist der Teil der Steuereinheit, die newUser enthält():
@Controller
public class HelloWorldController {
@Autowired
UserService service;
//new user
@RequestMapping(value = "/registration", method = RequestMethod.GET)
public String newUser(ModelMap model) {
User user = new User();
model.addAttribute("user", user);
return "registration";
}
//save user
@RequestMapping(value = { "/registration" }, method = RequestMethod.POST)
public String saveUser(User user, ModelMap model) {
service.saveUser(user);
model.addAttribute("user ", user);
//return "registration";
return "redirect:/login";
}
...
Vielen Dank im Voraus.
Dies gehört zur Business-Schicht als Teil eines neuen Benutzers zu schaffen. Wie es gemacht wird: fügen Sie die Rolle dem Benutzerobjekt hinzu, Hibernate kümmert sich darum, es in der Datenbank zu speichern. – Henry
Ich verstehe es nicht, meinst du, ich sollte eine Funktion hinzufügen, die die Rolle und den Benutzer auf der Serviceebene kombinieren? – Najoua
Es sollte eine Service-Layer-Funktion "createUser" geben, und es sollte alle notwendigen Standardeinstellungen vornehmen. – Henry