加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 这个ASP.Net身份验证模型的安全性如何?

发布时间:2020-12-15 19:29:47 所属栏目:百科 来源:网络整理
导读:我使用c# amp;创建了一个Web身份验证应用程序. asp.net并想要反弹你认为它的安全性.所有导航均由https完成. 用户注册 用户输入3个数据点(SSN,Lname和DOB).如果在我们的系统中找到该组合,则会设置会话变量并导航到下一页. 如果设置了#1的会话变量,请继续并询
我使用c#& amp;创建了一个Web身份验证应用程序. asp.net并想要反弹你认为它的安全性.所有导航均由https完成.

用户注册

>用户输入3个数据点(SSN,Lname和DOB).如果在我们的系统中找到该组合,则会设置会话变量并导航到下一页.
>如果设置了#1的会话变量,请继续并询问用户名,密码,安全q& A等.使用Linq保存数据并在实际保存事件之前验证会话变量.使用salt和sha对PWD和安全性答案进行哈希处理. (使用验证控件和文本框限制来限制输入)

重设密码

>与注册中的#1相同,但包括用户名.如果确定,请设置第1步会话变量.
>如果设置了第1步会话变量,请提出最高3倍的安全问题. Salt / hash并验证数据库salt / hash.如果匹配,则设置步骤2会话变量.(使用验证控件和文本框限制来限制输入)
>检查第2步会话变量.请求新的密码.哈希/盐并使用LINQ保存.

登录(使用验证控件和文本框限制来限制输入)

>收集用户名和密码.与用户名匹配的HASH / salt密码,查看密码是否与hash匹配.如果没问题,请设置用户对象并传递到默认页面.
>所有页面都从masterpage继承. Masterpage具有验证用户对象是否设置为有效实例的代码.如果没有有效的用户对象,则调用注销,重定向到主登录页面.

有点罗嗦,但想要清楚.

我在这里错过了什么吗?我想使用MS的表单auth,但决定自己滚动,因为我有一些问题,我想用FBA完成一些自定义的东西.通过使用会话变量作为步骤完成标记,这是否足以防止会话窃取或书签?有一个更好的方法吗?

请问好吗?

解决方法

ASP.NET Forms身份验证或使用Membership Provider位的哪些方面不符合您的需求?我发现在很多不同的场景中都非常灵活?

滚动你自己通常会在未来使生活变得艰难,特别是当你需要开始做出改变时.您还可以使用母版页来验证用户登录状态等,但是当您需要更多母版页时,您需要在每个母版页中复制相同的代码块并使其保持一致.然后,这可能成为未来某个地方的维护噩梦.

如果您没有在框架中使用现成的烘焙认证工具,那么您应该在其他地方管理这种事情,例如在HttpModule中.

我想你应该重温你正在做的事情.如果需要从用户对象挂起用户特定的数据/对象,请查看实现自己的自定义IIdentity对象.然后分配给自定义IPrincipal,您可以将其附加到ASP.NET中的Context.User.

@ asp316和@Jack(评论)我建议抓住这两本书:

Developing More-Secure Microsoft? ASP.NET 2.0 Applications by Dominick Baier

Professional ASP.NET 2.0 Security,Membership,and Role Management 作者:Stefan Schackow

您会惊讶于.NET内置的安全基础架构的灵活性.除了添加< authentication mode =“Forms”>之外,还有很多内容.设置为web.config并打一个< asp:login runat =“server”/>控制页面.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读