我正在使用Spring(和spring security),struts2和hibernate在java中构建一个Web应用程序。
每个“用户”都属于“客户”。我需要设计它,以便当用户登录时,他只能访问他的“客户”资源
最初,网络应用程序是在没有“客户端”的情况下构建的。只有拥有角色的用户才能对基于ROLE的Web应用程序模块进行访问。
这些角色将继续下去。唯一的区别是用户仅限于客户端资源。在客户端中,他们具有基于ROLE的访问权限,可以描述他们能做什么和不能做什么。
架构方面我有一个非常标准的网络应用程序,有Managers和Dao's。 那么最好的架构方法是什么呢?
感谢您的任何意见!
答案 0 :(得分:0)
我有类似的工作。例如,您可以将“clientId”额外属性添加到默认UserDetails(您还没有自定义属性),因此一旦用户被登录,应用程序就会知道您用户所属的客户端。
当用户想要执行操作时,应用程序应从userDetails获取“clientId”并根据此id执行操作。 Problay,你的许多DAO方法(和表)都应该将clientId作为参数。
此解决方案不会影响角色。