【问题标题】:Javascript client side only forms authenticationJavascript客户端仅形成身份验证
【发布时间】:2012-03-13 09:47:44
【问题描述】:

我最近开始使用带有 ASP.NET MVC 3 的主干.js。 我的服务器公开了我的网站所针对的 RESTfull API。 含义 - 身份验证与专用的“身份验证服务”一起使用。 存储在客户端 cookie 中的用户的身份验证令牌。 没有表单认证,服务器是无状态的,没有会话。

如何实现仅客户端的“表单身份验证”类似机制 (带有'return url'和所有)?

有没有 javascript 框架呢?还是我应该手动实现所有的路由、cookie 测试和验证?

【问题讨论】:

    标签: javascript asp.net-mvc-3 authentication backbone.js forms-authentication


    【解决方案1】:

    我曾在某一时刻实现了类似的东西,但使用的是 java 后端。解决方案包括:

    • 服务器检查所有调用是否存在经过身份验证的会话,如果没有与登录用户的有效会话,则返回 401 Unauthorized
    • 我添加了一个全局 jQuery.ajaxError 处理程序,它检查错误的 http 代码,如果是 401,我使用骨干路由显示登录屏幕
    • 使用主干视图实现登录屏幕,提交时我向服务器发送 ajax 请求,服务器检查凭据并创建会话

    这种方法的优点是我可以像在任何应用程序中一样在服务器上使用正常的会话/cookie 处理,并且只在客户端的一个地方有身份验证代码。

    【讨论】:

    • 如何实现“表单认证”机制?含义:当用户尝试访问您网站中的内部页面但需要重定向到登录屏幕并在登录后将他发送回原始页面?
    • 您使用的是骨干网,所以我认为它是一个单页应用程序,对吧?所以你说的“页面”是骨干路由机制中的一个路由。我只会在触发错误处理程序时存储当前路由,并在完成身份验证后将用户重定向到那里。
    猜你喜欢
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 2014-02-07
    • 2012-04-25
    • 2022-06-23
    • 1970-01-01
    相关资源
    最近更新 更多