【发布时间】:2011-11-04 11:23:53
【问题描述】:
我有一个简单的授权页面,旨在让用户输入登录名和密码。根据用户输入的结果,我定义要显示的下一页。我在 db 中有一个表,其中包含 id、用户的登录名和密码以及用户的角色,因此将根据将从与输入的登录名和密码对应的记录的角色字段中检索到的信息来定义下一页。但是我在 db 中有一个表,其中包含一种用户的所有用户信息(大约 10 个字段)和另一个表,其中包含有关另一种用户类型的信息(4 个字段)。所以我的数据库有这样的结构:
Table 1:
id
login
pass
role
Table 2:
id(reference to id of table 1)
other fields....
Table 3:
id(reference to id of table 1)
other info....
我认为我的应用程序必须有一个托管 bean(requestScope) 来进行授权,该授权需要登录名和密码。该 bean 将具有用于提交授权表单的操作控制器。在该动作控制器中,我必须确定用户的角色,并根据该信息为具体类型的用户创建一个会话范围的托管 bean(应用程序将为不同类型的用户提供单独的托管 bean)。此外,我在该动作控制器中为用户(用户的 id)的会话范围 bean 的实例化传递特定信息。但是我可以简单地在请求范围托管bean的操作方法中建立一个会话范围托管bean(在new运算符的帮助下)吗?另外,我如何在另一个会话范围 bean 中使用一个会话范围 bean 的方法(假设我创建了 2 个会话范围托管 bean,它们负责不同的服务,我如何在另一个会话范围内调用方法)。
也许所描述的方法不适合这样的问题?如果是这样,您能否就更好的设计方法提出建议?
【问题讨论】:
标签: jsf-2