javascript - 我怎样才能 'lock' jQuery/Bootstrap/JS 中登录屏幕后面的页面?

标签 javascript jquery html twitter-bootstrap firebase

我一直在使用 Google 的 Firebase 作为后端构建一个网络应用(对于那些不知道的人来说,这是一个实时数据库;数据的任何更改都会立即反射(reflect)并更新),还有其他人正在开发 Android 应用有了它,所以没有其他选择(而且它有点酷)。让我惊讶的是我还没有编写一行 php 或任何服务器端代码。不管怎样,jQuery 在登录和其他方面工作得非常好。

现在我将创建一个管理页面(使用与主用户登录分开的登录)。它将以完全独立的方式访问(通过打开类似 /admin.html 的内容)。因此,登录名不能放在单独的页面上,这样人们就不会通过在地址栏中写入 /admin.html 来“意外”访问管理面板。

因此,我想阻止管理页面完全加载,直到我收到 Firebase 的凭据正确的确认。那么,知道登录页面和整个管理页面都需要位于同一个文件中,我该如何实现这一点呢?我确信这可以通过简单的 jQuery + Bootstrap 来实现,但我不太确定如何实现。谁能指出我正确的方向。提前致谢!

我当然已经用谷歌搜索过它,但也许我的措辞不对? :P

最佳答案

如果我正确理解你的问题,你的问题是你需要在一个文件中创建两个单独的 View ,并根据你的用户“ session ”重定向到一个或另一个 View ,但是,因为你的所有代码都是在客户端中,您没有可操作的“ session ”系统。

好的,您可以采取多种选择。我喜欢使用 LocalStorage 来存储用户 session 的想法。

当请求/admin.html 时,您的代码会检查 LocalStorage 中是否有有效的 session 对象(请记住,您需要定义该 session 对象)。如果存在有效对象,则渲染管理区域,如果没有,则渲染登录区域。

当有人向数据库发送用户名/密码并且您收到有效响应时,您将创建一个 session 对象,将其存储在 LocalStorage 中并重新加载页面。

请记住,您需要创建一种机制来使 session 终止并注销 View 。

对于即将消失的 session ,作为一个想法,您可以将创建时间和过期时间存储在 session 对象中。每次提供“ session protected ”页面时,当您检查 session 对象是否存在时,您可以将其过期日期更新固定量(例如,20 分钟加当前时间)。

因此,当您检查是否存在有效 session 时,您还会检查其到期日期是否尚未到期,如果到期,则删除该对象。

关于javascript - 我怎样才能 'lock' jQuery/Bootstrap/JS 中登录屏幕后面的页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38971473/

相关文章:

javascript - 有没有办法关闭 babelify 中的 "this is not allowed before super"规则?

javascript - Slidetoggle 在点击时无法正常工作

php - 需要稍微改变表格的布局

javascript - 在 do while 中,document.write 不起作用(javascript)

javascript - 如何将日期和时间输入的值合并到一个日期对象?

javascript - 淡入淡出的线位移

javascript - Angular 'For loop' 未按顺序显示

javascript - 尽管有事件监听器,Google map API 仍未调整大小 - 通过 AJAX 创建

javascript - 有没有办法在 jQuery Datepicker 上同时使用相对和绝对年份范围?

jquery - 如何将 jquery.Validate 与 jquery.multiselect 下拉菜单一起使用?