如何使用Web API JWT令牌对MVC用户登录表单进行身份验证?

时间:2019-01-14 04:42:21

标签: c# asp.net-mvc authentication model-view-controller jwt

我是MVC的新手,已经将我们的应用程序从Angular带来了,因此对有限的知识深表歉意。

我们的MVC应用已设置为在成功通过身份验证后通过API提供JWT令牌。 (邮递员已测试)

当前将表单发布到API,但是验证不适用,成功的“登录”将带有令牌的api URL加载为xml。

我想知道如何:

  • 处理错误(当前引发服务器错误“未将String引用设置为String的实例。”)cshtml页面无法验证
  • 存储令牌并正确处理请求
  • 在哪里将代码存储在控制器中以及页面上的内容。
  • 存储令牌而不是加载XML页面需要什么

    我不确定在整个网站上持有JWT令牌与已经拥有MVC身份验证有什么区别

    感谢您的帮助!

  • 1 个答案:

    答案 0 :(得分:0)

    以下是您所要求的答案:

    1. 要处理错误,您可以在Web API中使用类似于MVC的“错误过滤器”属性。
    2. 无需将令牌存储在服务器上,只需将其存储在客户端上并随每个请求发送即可。您可以将其存储在HTML标记中。
    3. 现在您需要有两个单独的项目,一个用于服务器端代码(Web API),另一个用于UI。而且,您可以轻松地确定要在服务器上和客户机上使用哪种逻辑。
    4. 您需要编写一个get方法来获取API的令牌。

    保持JWT和MVC身份验证之间的主要区别-如果需要MVC身份验证,则需要在服务器上保持会话处于活动状态,但不需要这样做。这样,您就不需要为每个负载平衡服务器上的会话都可以更轻松地为应用程序平衡负载。