Mo *_*o . 19 authentication spring spring-security user-registration java-ee
我一直在研究使用Spring Security来验证/授权我的Web应用程序(这将是基于JDBC的).
但是,从我的角度来看,核心组件似乎被排除在外.如何注册/创建新用户?是否有开箱即用的API?
我是否需要从头开始编写用户注册和管理?我需要做的事情包括: - 注册新用户 - 重置密码 - 通过电子邮件发送用户激活他们的帐户 - 通过电子邮件发送给用户以重置他们的帐户.
先感谢您.
我在我的项目中使用Spring Security.根据您的要求,该框架没有用于创建或注册用户的API.为了使Spring Security在多个框架中具有通用性和可用性,在您编写自定义代码之前,它只能带您到目前为止.您无法真正获得有关要使用的框架或工具的更具体的答案,因为此时您将只使用您已经使用的框架.
如果您已将其设置为在数据库中使用用户和角色,则可以在数据访问层中在用户表中创建记录,或者在该记录中更新密码(最好存储为哈希).正如Aravind所说,Spring确实提供了电子邮件支持.
如果你真的想看到一种方法:我使用的是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);
...
}
Run Code Online (Sandbox Code Playgroud)
而且我的PersonDao会使用Hibernate来持久保存用户
@Transactional
public void createNewUser(Person user)
{
Session session = sessionFactory.getCurrentSession();
session.save(user);
session.flush();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18016 次 |
| 最近记录: |