我们正在开发一个网站,我们遇到了这个问题:对于这个网站,有两种类型的用户:客户和管理员。管理员可以查看所有产品(例如包括过期产品),而客户只能看到一个子集。
我们通过客户群和管理员群组的用户限制来实现这一目标。根据登录的用户显示产品。如果他属于客户组,则适用一组限制,如果他属于管理员组,则适用另一组限制。
现在,管理员可能希望从客户角度看网站。由于在同一会话中不可能有两个用户,因此当前管理员已由系统注销并以客户组中的用户身份登录。然而,这种情况并不理想。
有没有人曾经遇到过这种情况,并且有某种干净的解决方案吗?底层技术是基于Tomcat 6.0.29的自定义服务器。我们正在使用Java进行开发。
谢谢:) Krt_Malta
答案 0 :(得分:3)
@Krt_Malta:如果您使用的是Spring Security,则无需让管理员注销,然后以用户身份重新登录。要实现这一点,您需要配置SwitchUserFilter ...它允许用户从一个角色切换到另一个角色,而无需注销,这就是您想要的。
答案 1 :(得分:0)
我自己对Web开发比较陌生,但是你不能在名为'type'的MySQL表中有一个字段,用户要么是'customer',要么是'admin'?当有人登录时,系统可以检查他们的用户类型,如果是“客户”,系统可以显示客户的视图,如果是“管理员”,则是管理员的视图。
然后,您还可以在表格中使用另一个字段,该字段仅适用于“管理员”类型的用户,这些用户基本上表示管理员是在管理员模式还是客户模式下查看。 “admin”视图中每个页面上的一个按钮可以在此新字段的“admin”和“customer”之间切换,这可以决定显示哪个视图。
这是你要找的那种东西吗?