Spring3,Security3,Hibernate,MYSQL - 如何将用户跟踪安装到数据库中

时间:2011-03-29 20:01:39

标签: mysql hibernate spring-mvc spring-security

第一个项目:Spring3,Security3,Hibernate,MYSQL - 如何将用户跟踪安装到数据库中

我正在使用Spring3,Security3,Hibernate,MYSQL开发我的第一个项目。

我的系统运行良好我使用Spring3和Security3 goign到MySQL进行登录和 使用Spring3 MVC,Hibernate和MYSQL来获取系统数据。

我有很多问题。登录后,Spring Security会将用户对象保存到我可以拥有的位置 Hibrernate访问它。我希望Hibernate将用户名或角色放入数据库的每个插入中,以便 我进行系统知道的搜索只显示该用户的数据而只显示该用户的数据?

这有点像它应该很容易。 Spring应该将用户保存在hibernate可以访问的地方。

请帮帮我

1 个答案:

答案 0 :(得分:0)

用户通过身份验证后,您可以访问用户的身份验证会话详细信息:

Authentication authentication = SecurityContextHolder.getContext().getAuthentication();

SecurityContext将允许您获取Authentication对象,并从中可以检索主体(代表经过身份验证的用户的对象),角色等。您可以检查此信息并确定应为每个用户存储/显示数据。

如果您可以添加请求过滤器或拦截器(词汇表可能因框架而异),您可以将这些安全检查抽象/通用,足以应用于整个Web应用程序(而不是添加几行代码到您尝试保护的每种资源方法)。不管怎样,SecurityContext都可以让你更接近你想要的东西。