私は、Spring MVC/SecurityとHibernateを使用してWebアプリケーションを作成しています。私はUserとUser_ProfileテーブルとjoinTableをdbに作成し、それらをアプリケーションにマップしました。新しいユーザーが登録するたびに、彼にデフォルトで「ROLE_USER」を与えたいと思います。新規ユーザー登録後のデフォルトロール
私は迷っています。私はそれをどうするか考えていませんか? 登録する際に、どのレイヤーに新しい役割を割り当てる必要がありますか?
@Repository("userDao")
パブリッククラスUserDaoImplはAbstractDaoが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);
}
}
を実装延び、これはNEWUSERを含有するコントローラ()の一部である:
@Controller
パブリッククラスHelloWorldController {
0事前にの@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";
}
...
感謝。
これは、新しいユーザを作成の一環として、ビジネス層に属します。操作方法:Userオブジェクトにロールを追加すると、HibernateはそれをDBに保存します。 – Henry
私はそれを得ることはできません、あなたは役割とユーザーを結合した機能をサービスレイヤーに加えるべきですか? – Najoua
サービスレイヤ機能 "createUser"が必要であり、必要なすべてのデフォルト設定を行う必要があります。 – Henry