目前在我们的网站上我们正在使用1.)会话2.)Cookie; ,他们都有自己的缺点。因此,在我们的新网站中,我们不想使用会话和cookie。
我们使用Google搜索并找到了一些替代会话和Cookie的方法,如下所示:
1。)使用“本地存储”或“会话存储”。
2.。)使用查询字符串附加数据。
本地存储是会话的客户端替代方案。它只能用于客户端脚本,而不是服务器代码,如果您正在编写SPA并计划进行Ajax调用,则可以使用它。
因此,我们需要一种替代技术方法来处理会话和cookie以及其他方法。
请帮我解决。
答案 0 :(得分:0)
使用“本地存储”或“会话存储”。
本地存储不是会话状态的替代。它们是完全不同的技术。
使用查询字符串附加数据。
QueryString也不是会话状态的替代品。我们只使用查询字符串在页面之间传递非常小的数据(通常为整数值)。
因此,我们需要一种替代技术方法来处理会话和cookie 用其他方法。
对于ASP.Net MVC,您希望将Cookie用于 身份验证 ,除非您要使用Bearer Token 。使用Cookie进行 身份验证 没有任何问题,除非您滥用它。
简而言之,我们不需要在ASP.Net MVC中直接使用会话状态 。您可以说会话状态和查看状态会被 模型 取代。
请记住,TempData使用会话状态。
答案 1 :(得分:0)
我已经google搜索了一些资源并试图了解更多信息,如果有人有建议请更新。
在不使用Session和Cookie的情况下在页面之间传递数据的两种方法:
1。)使用本地存储
2。)使用安全查询字符串:
=============================================== =====
1。)使用本地存储:
a。)本地存储或会话存储:
What is the difference between localStorage, sessionStorage, session and cookies?
b。)HTML5离线存储 - 会话的替代方案? [关闭]
HTML5 offline storage - Alternative to Session?
缺点: Are there any drawbacks to using localStorage instead of Cookies?
2。)使用安全查询字符串:
a。)MVC加密查询字符串: Encrypting an id in an URL in ASP.NET MVC
b。)在网站之间安全地传递身份令牌 http://dotnetslackers.com/articles/aspnet/Securely-Passing-Identity-Tokens-Between-Websites.aspx#1776
c。)MVC 4中的加密和解密URL
https://dotnettrace.net/2013/09/19/encrypt-and-decrypt-url-in-mvc-4/