プロジェクトでSpring Securityを使用しています。あなたが尋ねたように、フレームワークにはユーザーの作成または登録のためのAPIがありません。Spring Security を汎用化し、複数のフレームワークで使用できるようにするためには、カスタム コードを作成する必要が生じるまでにかかる時間は限られています。使用するフレームワークやツールについて、より具体的な回答を得ることはできません。この時点では、とにかく既に使用しているフレームワークを使用するだけだからです。
データベースでユーザーとロールを使用するように設定した場合、データ アクセス レイヤーからユーザー テーブルにレコードを作成するか、そのレコードのパスワード (できればハッシュとして保存) を更新します。Aravind が言ったように、Spring は電子メール サポートを提供します。
本当に 1 つの方法を確認したい場合: 私は Spring MVC、JSP、および Hibernate を使用しています。JSP で Spring のフォーム タグを使用して新しいユーザー フォームを Person オブジェクトにバインドし、コントローラー メソッドがその Person オブジェクトを Dao に渡して永続化します。
コントローラーメソッドのシグネチャは次のようになります...
@RequestMapping(value = "/newUser", method = RequestMethod.POST)
public ModelAndView createNewUser(final @Valid @ModelAttribute Person user,
final BindingResult result,
final SessionStatus status,
final @RequestParam(value = "unencodedPassword", required = true) String password) {
...
user.getRoles().add(new Role(user, Role.APPLICATION_ROLE.ROLE_USER));
userDao.createNewUser(user);
...
}
私のPersonDaoは、Hibernateを使用してユーザーを永続化します
@Transactional
public void createNewUser(Person user)
{
Session session = sessionFactory.getCurrentSession();
session.save(user);
session.flush();
}