asp.net-mvc – .NET自定义成员资格.自定义登录/注册:身份验证/
当我创建一个需要注册和登录的网站时,对于没有很多要求的快速网站,我将使用[Authorize]属性和诸如此类的属性.适用于它的功能.但现在我想要更多东西.基本上我正在使用ASP.NET MVC EF CodeFirst开发一个站点,并希望创建一个用户实体来持久保存到包含更多信息的数据库.注册时所需的此类信息将具有其他属性,例如FirstName,LastName,Gender,Country等…
我已经尝试过阅读实现自定义MembershipProvider和MembershipUser等…我已经走了这么远,但它不会以我想要的方式结合在一起.现在,当我使用PHP开发网站时,或者在ASP.NET中开发网站时,我只需创建我的User类,并为他提供注册页面所需的所有属性,然后将其推送到数据库.然后,当我登录时,我只需获取用户名或电子邮件和密码,然后创建一个会话变量,指示用户是否已获得授权. 这样可以吗?我只是不明白为什么这整个会员事情比看起来要复杂得多,所以我觉得我错过了这一切.此外,我注意到在ASP.NET MVC Web应用程序中,当您进行身份验证时,它会写出此行…. FormsAuthentication.SetAuthCookie(model.UserName,createPersistentCookie: false); 有什么区别和… Session["username"] = model.UserName 解决方法
而不是去成员资格提供者的路线(我个人不喜欢它并且发现它对我使用的应用程序很重)你是否考虑过为您的应用程序创建一个自定义
IPrinicipal/
IIdentity对象并使用属性扩展它们你想从你的“用户”对象?
而不是进入具体细节已经有一些关于这个概念的SO资源:ASP.NET MVC – Set custom IIdentity or IPrincipal 关于您的问题,Session [“username”]只是一个会话cookie.您将失去FormsAuthentication的所有好处.例如,如果用户请求需要经过身份验证的访问的页面并且该用户之前没有登录到该站点,则使用表单身份验证,然后将用户重定向到具有表单身份验证的已配置登录页面. 使用Session [“username”],您需要手动滚动身份验证的每个方面.我强烈建议不要这样做. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 何时在ASP.NET MVC 2应用程序中提交NHibernate事务?
- asp.net-mvc – FluentValidation可以做复选框吗?
- asp.net-mvc – 我可以在ASP.NET MVC 4中更改webpages_ Mem
- asp.net-mvc – 追加?param =到mvc路由
- asp.net-mvc – 从.Net MVC View获取HTML而不实际在浏览器中
- asp.net三层架构增删改查
- entity-framework – Ninject WebAPI由于DbContext已被处理
- asp.net-mvc-4 – 安装Windows 10后尚未注册ASP.NET 4.5
- 为什么ASP.NET回发时请求cookie属性为null或不正确?
- asp.net – 在css文件中的div.classname
- ASP.NET Core 2.0 Web API基于JWT自定义策略授权
- asp.net – 在页面生命周期内保持数据库连接打开
- ASP.NET 5中的全局异常处理
- 如何使用MVC5 ASP.NET Identity Framework对Sign
- asp.net-mvc – 在布局页面上渲染脚本时出现奇怪
- asp.net-mvc-3 – 从我的控制器调用索引视图时路
- asp.net-web-api – MaxExpansionDepth,带有最新
- asp.net-mvc – Orchard CMS安装错误?
- asp.net MVC3 DefaultModelBinder错误消息键
- asp.net-mvc – MVC单元测试控制器的优点