ReactJS - 如何设置登录模式
ReactJS - how to setup login pattern?
如果
这个问题有点模糊,我很抱歉,但我是第一次解决这个问题,任何指针都会很有用。
我正在使用 ReactJS 构建一个 Web 应用程序,我需要一个登录系统 - 第一页有两个字段的用户名/密码和提交按钮。服务器返回一个令牌(1234
),这需要在身份验证标头(Authorization: Bearer 1234
)中使用,以便访问受保护区域。
我应该如何处理登录并使浏览器在登录后使用可用的新内容进行自我更新?
正如其他人所指出的,使用React-Router是个好主意。
我认为你可以使用这样的模式:你获得用户输入并通过AJAX发送它们(使用JQuery,Superagent,任何你想要的)。如果输入有效且经过用户身份验证,服务器将发回包含一些用户信息的令牌,其中可能包括他的角色或权限。根据这些接收到的数据,您可以使用 React-Router 来渲染其他组件,例如欢迎页面(通过在 React-Router 历史对象上调用 replaceState - 例如在 flux 操作中)。
此外,您应该将此令牌保存在 cookie 或会话/本地存储中(以便能够在每个后续请求中使用它),并且用户信息可以存储在 Flux 存储中。保存此用户后,存储会发出更改事件,这应该会导致使用您获得的用户信息重新渲染根组件。
然后,根据商店中的新用户角色或权限,例如,您可以让某些组件上的ES7装饰器来决定它是否显示实际组件。
希望对您有所帮助。
相关文章:
- Protractor测试:如何设置登录表单中文本元素的值
- 通过 Google Maps API 显示引导登录模式
- 在余烬中将屏幕阅读器的焦点设置在模式警报上
- ReactJS - 如何设置登录模式
- 将焦点设置在模式框中的输入字段上
- 如何创建密码登录模式,单击提交按钮,然后使用bootstrap 3打开另一个包含链接的模式
- 如何在滚动窗口中居中设置引导模式
- 如何设置登录passportjs后的会话超时
- 如何在AngularJS中设置登录页面
- setTimeout设置Bootstrap模式超时后不显示
- 如何在dijit.form.TimeTextBox中设置时间模式以显示小时:分钟am|pm ?
- 动态设置引导模式文本
- Bootstrap 3设置单个模式的选项
- 如何设置登录表单提醒信息,“虚假登录表单”
- iOS上的LocalStorage配额超过(dom error 22),但未设置私有模式
- 当用户访问网站时,登录模式窗口会自动出现在主页上
- 设置登录表单的cookie
- 如何在点击提交按钮后保持登录模式不关闭
- 如何使用minibuffer为react js文件设置web模式内容类型
- Ace编辑器在设置语言模式和主题时出错