2010-09-02 104 views
2

我已经创建了2个html页面和2个GWT模块。第一页是登录页面。如果登录成功,我用Window.Location.assign(“URL”)打开第二页。 我仍然可以在浏览器中输入正确的URL而无需登录即可打开第二个网页。如何防止用户未登录时显示一个页面?

如何防止用户未登录时显示第二页?

+1

为什么他们是两个单独的页面?为什么不只有一个入口点和两个异步模块?如果用户已经登录,那么你的GWT代码应该很容易检查,如果不是,则可以退出。 – 2010-09-02 13:59:36

回答

1

这最好是使用服务器端技术来完成(这取决于您选择哪一个,Java EE是我真正熟悉的唯一一个,如果使用它,它几乎是微不足道的)。或者,如果你正在构建的是非常重的JavaScript(毕竟你使用的是GWT),你总是可以在第二页上添加一些Javascript来检测用户是否已经登录,并将它们重定向到第一(登录)页面,如果他们不是。尽管如此,这远没有那么强劲。

0

在服务器端验证是必须的。任何客户端身份验证检查都可以并且将会失败,如果有人真的想进入。

.NET,Java,PHP,Ruby。任何这些将处理认证功能。

+0

我正在使用Tomcat作为servlet容器。 如果我正确理解你,这应该在配置文件或某事中完成。类似于Tomcat? – DixieFlatline 2010-09-02 14:07:31

2

像杰森说 - 使用一个GWT模块和处理来自您的应用程序的身份验证(当然,你应该检查,如果用户真的登录时使用的服务器 - 从未依赖于客户端)。关于SO的问题有很多问题 - 例如,this one
如果你想根据用户是否登录显示不同的页面,Decorator模式可能是(巨大的)帮助:)

相关问题