Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 同一会话中的不同用户限制_Java_Html_Session - Fatal编程技术网

Java 同一会话中的不同用户限制

Java 同一会话中的不同用户限制,java,html,session,Java,Html,Session,我们正在开发一个网站,我们遇到了这个问题:这个网站有两种类型的用户:客户和管理员。管理员可以看到所有产品(例如,包括过期产品),而客户只能看到一个子集 我们通过对客户组和管理员组的用户限制来实现这一点。根据登录的用户显示产品。如果他属于客户组,则适用一组限制;如果他属于管理员组,则适用另一组限制 现在,管理员可能希望从客户的角度查看网站。由于不可能在同一会话中有两个用户,因此当前管理员由系统注销,并作为客户组中的用户登录。然而,这种情况并不理想 以前有没有人遇到过这种情况,有没有干净的解决办法?

我们正在开发一个网站,我们遇到了这个问题:这个网站有两种类型的用户:客户和管理员。管理员可以看到所有产品(例如,包括过期产品),而客户只能看到一个子集

我们通过对客户组和管理员组的用户限制来实现这一点。根据登录的用户显示产品。如果他属于客户组,则适用一组限制;如果他属于管理员组,则适用另一组限制

现在,管理员可能希望从客户的角度查看网站。由于不可能在同一会话中有两个用户,因此当前管理员由系统注销,并作为客户组中的用户登录。然而,这种情况并不理想

以前有没有人遇到过这种情况,有没有干净的解决办法?底层技术是基于Tomcat 6.0.29的定制服务器。我们正在使用Java进行开发

谢谢:)
Krt_Malta

我自己对web开发还比较陌生,但是在MySQL表中不能有一个名为“type”的字段,用户可以是“customer”或“admin”吗?当有人登录时,系统可以检查他们的用户类型,如果是“客户”,系统可以显示客户的视图,如果是“管理员”,则显示管理员的视图

然后,表中还可以有另一个字段,该字段仅适用于“admin”类型的用户,基本上表示管理员是以管理员模式还是以客户模式查看。“管理员”视图中每个页面上的按钮都可以在这个新字段的“管理员”和“客户”之间切换,这可以决定显示什么视图


这就是您要找的东西吗?

@Krt_马耳他:如果您使用的是Spring Security,那么您不需要管理员注销然后以用户身份重新登录。要实现这一点,您需要配置。。。它允许用户从一个角色切换到另一个角色,而无需注销,这正是您想要的。

是的,我们使用的是Spring Security,但我不知道您提到的这种方法。使用SpringSecurity,管理员是否可以在不必从管理员注销的情况下查看标准用户可以看到的内容?关于URL,该网站仍处于开发阶段。你能给我一个链接,我可以在那里找到更多关于此的信息吗?谢谢你的输入Taimur:)直接与数据库交互不是很好,我学到了,所以虽然你的方法可以工作,但它不会干净。还是谢谢你!不客气。注意,较旧的spring安全版本使用SwitchUserProcessingFilter:。。。这本质上是相同的,但具有不同的过滤器名称。