我们正在使用Backbone + MVC 4构建单页应用程序。在服务器端(MVC 4)中,我们使用了MVCController(很少)和webapi控制器。目前,我们在应用程序中使用基于表单的身份验证。此外,我们还将用户信息存储在会话中。现在,客户端希望通过其其他Windows /移动应用程序使用这些WebAPI。我们相信我们可以公开所有WebAPI控制器。但是,以下是一些问题:
1)目前,所有WebAPI都受到表单身份验证的保护。但是,当这些WebAPI与Windows /本机移动应用程序一起使用时,基于表单的身份验证将无法工作(因为它在内部使用cookie)。我们必须为其提供基于令牌的身份验证。令牌身份验证是否与声明身份验证相同?
2)我们的授权框架有点复杂,我们必须在用户登录时从数据库中获取所有权限并将其存储在会话中。对于进一步的请求,我们从会话中获取用户权限。sessionId在内部传递cookie。当WebApi从其他应用程序(本机和移动)中调用时,这将无法工作。如果我们可以找到任何其他方法来在服务器上存储此信息,我们可以考虑从应用程序中删除会话使用。
如果没有办法解决问题,我们可以考虑创建另一个项目,在那里复制所有WebAPI并在那里使用基于令牌/声明的身份验证。
提前致谢。
1)目前,所有WebAPI都受到表单身份验证的保护。但是,当这些WebAPI与Windows /本机移动应用程序一起使用时,基于表单的身份验证将无法工作(因为它在内部使用cookie)。我们必须为其提供基于令牌的身份验证。令牌身份验证是否与声明身份验证相同?
2)我们的授权框架有点复杂,我们必须在用户登录时从数据库中获取所有权限并将其存储在会话中。对于进一步的请求,我们从会话中获取用户权限。sessionId在内部传递cookie。当WebApi从其他应用程序(本机和移动)中调用时,这将无法工作。如果我们可以找到任何其他方法来在服务器上存储此信息,我们可以考虑从应用程序中删除会话使用。
如果没有办法解决问题,我们可以考虑创建另一个项目,在那里复制所有WebAPI并在那里使用基于令牌/声明的身份验证。
提前致谢。