asp.net-mvc-3 – MVC3和认证
好的,我是网络开发的新手,所以我可能会错过这些术语.我提前道歉.
我无法理解认证的不同元素.每种方法似乎都被某人反对,虽然并不总是有明确的理由.我正在为一个可以访问数据库的公司构建一个网络应用程序,所以我想确保它是安全的. 所以有三个地方我曾经常常用来存储信息. > FormsAuthentication.SetAuthCookie().这将存储一个将与浏览器一起使用的会话cookie,客户端上没有任何敏感信息.但是,它只能存储一个值. This stackoverflow回答显示了一种在这里存储多个值的方法,但是给出它的人说不使用它,虽然不是为什么. 我找不到这些方法的比较,或者在认证用户后存储多条信息的“最佳实践”方式的良好解释.这些信息只是用户的名字和用户名. 解决方法
这里有一些进一步的澄清来帮助你决定.
> SetAuthCookie可以以存储多个值的方式实现.但实际上,您通常无法存储足够的数据来避免数据库查找.最好存储用户名(唯一标识符),并在请求期间加载更多信息.您的问题建议您不要存储敏感信息.您应该假定Cookie中发送的所有信息都可以被解密和读取,您应该采取预防措施,以免恶意使用该信息.所有会话cookie都可能被盗,我会解释一下为什么. 所有这三种方法都被认为是危险的,因为所有基于cookie的身份验证系统都是危险的:因为cookie的值可以通过无线网络嗅探并重用以接管会话.这被称为sidejacking,它也适用于情景1和2.阻止这种情况的方法是实现HTTPS.然后,cookie转换(和其他一切)在网络级加密,不能被盗. TLDR;使用SetAuthCookie和HTTPS 注意为了清楚,这个答案已经被编辑好几次了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.Net MVC添加控制器错误
- asp.net – 子对象的MVC模型绑定命名约定?
- asp.net-mvc – asp.net MVC 1.0和2.0货币模型绑定
- 在IIS上部署你的ASP.NET Core项目
- asp.net – 是否可以完全在代码中配置ELMAH?
- asp.net-mvc – Url.Action with RouteValueDictionary wit
- 使用C#实现网站用户登录
- 什么是ASP.NET-MVC 5.1中的ManageController.cs及其创建原因
- 从Azure功能调用Asp.Net Web API端点
- ASP.NET Web服务命名空间子域是否重要?
- asp.net-mvc – 当我使用Validator.TryValidateO
- asp.net-mvc – ASP.NET MVC运行IIS7部署问题
- asp.net – GridView中的DropDownList SelectedI
- 在ASP.Net中访问HTML元素
- 将ASP.NET成员资格表添加到我自己的现有数据库中
- asp.net – 自定义会话状态模块 – 使用ASP状态服
- asp.net-mvc – 在构建时尝试构建ASP MVC视图时出
- asp.net – .NET Core WebAPI OpenIdDict(凭据流
- asp.net – 在处理期间存储用户名/密码
- asp.net – 从单独的配置文件中读取设置