首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在ASP.NET Membership Cookie中存储自定义数据

在ASP.NET Membership Cookie中存储自定义数据,可以通过以下步骤实现:

  1. 创建自定义MembershipUser类,继承自MembershipUser类,并添加自定义属性:public class CustomMembershipUser : MembershipUser { public string CustomData { get; set; } public CustomMembershipUser(string providerName, string name, object providerUserKey, string email, string passwordQuestion, string comment, bool isApproved, bool isLockedOut, DateTime creationDate, DateTime lastLoginDate, DateTime lastActivityDate, DateTime lastPasswordChangedDate, DateTime lastLockoutDate) : base(providerName, name, providerUserKey, email, passwordQuestion, comment, isApproved, isLockedOut, creationDate, lastLoginDate, lastActivityDate, lastPasswordChangedDate, lastLockoutDate) { } }public class CustomMembershipProvider : SqlMembershipProvider { public override MembershipUser GetUser(string username, bool userIsOnline) { var user = base.GetUser(username, userIsOnline); var customUser = user as CustomMembershipUser; if (customUser != null) { // 从数据库或其他地方获取自定义数据,并设置到CustomData属性中 customUser.CustomData = "Custom data for " + username; } return customUser; } public override bool ValidateUser(string username, string password) { // 验证用户名和密码 // ... // 如果验证成功,将自定义数据存储到MembershipUser中 var user = (CustomMembershipUser)GetUser(username, true); user.CustomData = "Custom data for " + username; return true; } }<membership defaultProvider="CustomMembershipProvider"> <providers> <clear /> <add name="CustomMembershipProvider" type="CustomMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" /> </providers> </membership>var user = (CustomMembershipUser)Membership.GetUser(); user.CustomData = "Custom data for " + user.UserName;var user = (CustomMembershipUser)Membership.GetUser(); var customData = user.CustomData;通过以上步骤,可以在ASP.NET Membership Cookie中存储自定义数据。
  2. 创建自定义MembershipProvider类,继承自SqlMembershipProvider类,并重写ValidateUser、GetUser等方法,使用自定义MembershipUser类:
  3. 在web.config中配置自定义MembershipProvider:
  4. 在需要存储自定义数据的地方,将自定义数据添加到MembershipUser中:
  5. 在需要读取自定义数据的地方,从MembershipUser中获取自定义数据:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET Identity入门系列教程(一) 初识Identity

可以从配置文件、SQL Server数据库或者其他外部数据查找。 第三步 如果用户有效,则在客户端生成一个cookie文件。...cookie文件标识用户已经验证通过,当你访问网站其他资源时,不需要重新验证。 认识ASP.NET Membership 使用表单认证能解决基本的身份验证问题。...ASP.NET Membership很好的解决了WEB应用程序在成员资格方面的常见需求,这些需求包括表单身份验证,存储用户名、密码和用户资料信息 (profile)等。...数据库架构受限于SQL Server。对其他数据库很难兼容。 生硬的表存储结构。...数据持久性以及兼容性 默认情况下,ASP.NET Identity 系统将所有的数据存储在SQL Server数据,并且使用 Entity Framework Code First 实现数据库的管理

4.5K80
  • Flask session的默认将数据存储cookie的方式

    Flask session默认使用方式说明 一般服务的session数据是在cookie存储session的id号,然后通过id号到后端查询session的具体数据。...为了安全,一般session数据都是存储在后端的数据。...但是也有其他的存储方式,如下: Flask session的默认存储方式是将整个数据加密后存储cookie,无后端存储 将session的id存储在url,例如:url?...sid=sessionid,这是session id针对于无法存储cookie情况的做法。 那么本章节主要介绍Flask默认将session数据存储cookie的方式。...其中可以知道session的数据存储在这个cookie的value的,而为了保证一定程度的安全,所以设置了密钥进行加密。

    4.4K20

    何在ASP.Net 把图片存入数据

    介绍    可能有很多的时候,我们急需把图片存入到数据库当中。...在一些应用程序,我们可能有一些敏感的资料,由于存储在文件系统(file system)的东西,将很容易被某些用户盗取,所以这些数据不能存放在文件系统。   ...offset buffer 的从零开始的字节偏移量,从此处开始存储从当前流读取的数据。 count 要从当前流中最多读取的字节数。...我们将使用存储过程来完成插入图片类型和图片内容到sql 表。如果你浏览了上面的代码,你将会发现我们使用了sqldbtype.image的数据类型(datatype)。...结论 我们已经讨论了如何把图片存入到Sql Server,那么我们如何从SqlServer读取图片呢?可以参看我的另一篇文章:在Asp.Net从SqlServer检索图片。

    2K20

    Membership 到 .NET4.5 之 ASP.NET Identity

    我们前面已经讨论过了如何在一个网站中集成最基本的Membership功能,然后深入学习了Membership的架构设计。...引入 - 用户信息是如何存在数据的   我们前两篇都只讲到了怎么用Membership注册,登录等,但是我们漏掉了一个很重要并且是基本上每个用Membership的人都想问的,我的用户信息怎么保存?...Profile要做到通用,那么这张表就要求能够存储任意类型的数据,所以微软就采用一种这样的设计,把所有的字段以string的格式放到了一列,然后再解析出来。...,同样采用EF Code First来完成数据操作 完全自定义数据结构 单元测试的支持 与Role Provider集成  支持面向Clamis的认证 支持社交账号的登录 OWIN 集成 通过NuGet...Microsoft.AspNet.Identity.EntityFramework   主要包括ASP.NET Identity 的EF 部分的实现,有了EF的帮助我们就可以完全自定义数据结构,当然我们也只需要定义一个实体类就可以了

    1.9K60

    ASP.NET MVC 随想录——探索ASP.NET Identity 身份验证和基于角色的授权,中级篇

    进行注册,当请求经过ASP.NET Pipeline时,由ASP.NET Runtime 触发它,在该事件,它会验证并解析该Cookie为对应的用户对象,它是一个实现了 IPrincipal接口的对象...这是一个典型Middleware中间件使用场景,说白了就是去处理Http请求并将数据存储到OWIN环境字典中进行传递。...也就是说Cookie 就是我们的令牌, Cookie本人,我们不必再进行用户名和密码的验证了。...当点击保存,提交表单时,通过模型绑定,将数据Post 到Edit Action,实现了对角色的MemberShip 进行管理,即通过Add /Remove 操作,可以向用户添加/删除角色。...要解决这个问题,我们一般是在数据内置一个管理员角色,这也是我们熟知的超级管理员角色。

    3.5K60

    ASP.NET Identity V2

    Microsoft.AspNet.Identity是微软在MVC 5.0新引入的一种membership框架,和之前ASP.NET传统的membership以及WebPage所带来的SimpleMembership...且在MVC 5默认使用EntityFramework作为Microsoft.AspNet.Identity的数据存储实现。...ASP.NET Identity是在.NET Framework4.5引入的,从Membership发布以来,微软已经从开发者以及企业客户那里面得到了足够的反馈信息来帮助他们打造这样一套新的框架。...,同样采用EF Code First来完成数据操作 完全自定义数据结构 单元测试的支持 与Role Provider集成  支持面向Clamis的认证 支持社交账号的登录 OWIN 集成 通过NuGet...with ASP.NET Identity asp.net identity 2.2.0 角色启用和基本使用(一) asp.net identity 2.2.0 角色启用和基本使用(二) asp.net

    1K80

    Flask session的默认将数据存储cookie的方式

    Flask session默认使用方式说明 一般服务的session数据是在cookie存储session的id号,然后通过id号到后端查询session的具体数据。...为了安全,一般session数据都是存储在后端的数据。...但是也有其他的存储方式,如下: Flask session的默认存储方式是将整个数据加密后存储cookie,无后端存储 将session的id存储在url,例如:url?...sid=sessionid,这是session id针对于无法存储cookie情况的做法。 那么本章节主要介绍Flask默认将session数据存储cookie的方式。...其中可以知道session的数据存储在这个cookie的value的,而为了保证一定程度的安全,所以设置了密钥进行加密。

    2.2K20

    SharePoint 2013混合模式登陆 使用 自定义登陆页

    接前一篇博客《SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)的应用》,当实现混合模式登陆后,接着我们就应该自定义SignIn...创建自定义登陆页面 首先,为了创建自定义的登陆页,我选择了Application Page,默认将被部署在layouts并和项目名称相同的文件夹(C:\Program Files\Common Files...以常见的属性为例: FailureText:登陆失败时提示的消息 MembershipProvider:自定义Membership Provider,需要继承MembershipProvider,...详见《SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)的应用》 DisplayRememberMe:Bool类型,表示是否显示记住我...总结 对于自定义ASP.NET Login控件的名称,注意其名字必须是:signInControl,我在次纠结了很久(异常信息,登陆成功后仍然显示身份验证无效,重定向至:/Authenticate.aspx

    2K80

    ASP.NET Roles授权

    的设定 一、ASP.NET Roles提供程序 和Membership一样,Roles也是ASP.NET一个重要的提供程序,旨在解决对角色的维护和基于角色的授权。...而ASP.NET默认提供了如下三个具体的RoleProvider,它们同时也体现了角色和授权信息的三种不同的存储形式。如果它们还不能满足你的具体授权要求,你还可以自定义RoleProvider。...比如说,如果你使用的数据库是Oracle,你可以参考SqlRoleProvider自定义一个OracleRoleProvider。...SqlRoleProvider:将角色和授权信息存储于SQL Server数据库预定义的表; WindowsTokenRoleProvider:直接使用Windows用户组进行授权,这是一个只读的RoleProvider...Membership和Roles对于ASP.NET是相互独立的两个提供程序,它们不具有任何依赖关系。

    1.1K70

    ASP.NET Roles授权

    的设定 一、ASP.NET Roles提供程序 和Membership一样,Roles也是ASP.NET一个重要的提供程序,旨在解决对角色的维护和基于角色的授权。...而ASP.NET默认提供了如下三个具体的RoleProvider,它们同时也体现了角色和授权信息的三种不同的存储形式。如果它们还不能满足你的具体授权要求,你还可以自定义RoleProvider。...比如说,如果你使用的数据库是Oracle,你可以参考SqlRoleProvider自定义一个OracleRoleProvider。...SqlRoleProvider:将角色和授权信息存储于SQL Server数据库预定义的表; WindowsTokenRoleProvider:直接使用Windows用户组进行授权,这是一个只读的RoleProvider...Membership和Roles对于ASP.NET是相互独立的两个提供程序,它们不具有任何依赖关系。

    995100

    MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN

    Membership系列的最后一篇引入了ASP.NET Identity,看到大家对它还是挺感兴趣的,于是来一篇详解登录原理的文章。...这们这里的交互其实是与服务器一起来处理http request,比如说ASP.NET管理模型的那些事件,认证,授权,缓存等等,原先我们是通过自定义的http module,在里面拿到包含了request...这个字典在OWin管道的各个组件传输时,你可以任意的往里面添加或更改数据。 OWin默认为我们定义了以下的数据: ?   ...有了这些数据以后,我们就不需要和.NET的那些对象打交道了,比如说ASP.NET MVC的HttpContextBase, 以及WEB API  的HttpRequestMessage和HttpResponseMessage...我们可以回顾一样如何在http module为Authenticate绑定事件。

    2.7K50

    Asp.Net 用户验证(自定义IPrincipal和IIdentity)

    Asp.Net安全机制在App_Data下自动生成的AspNetDB.mdf的一系列数据表。...FormasAuthenticationTicket包含了诸多用于用户验证的信息,它从Cookie获得,可以认为它是服务端对Cookie的一个包装,只是这里的Cookie的操作不需要我们来处理,而由Asp.Net...在SetUserDataAndRedirect()方法,我们执行了主要的逻辑,我们先获得了Asp.Net用于验证的Cookie,从Cookie得到FormsAuthenticationTicket,...最后,执行了前面所叙述的步骤,将我们自定义数据 -- 当前用户的登录时间记录到了一个新构建的FormsAuthenticationTicket,最后将它进行编码然后赋值给Cookie。...还要注意获取到它们的值后被保存在了Cookie,以避免频繁的对数据库进行访问。

    1.7K31

    使用asp.net 2.0的CreateUserwizard控件如何向自己的数据添加数据

    在我们的应用系统asp.net 2.0的用户表数据往往不能满足我们的需求,还需要增加更多的数据,一种可能的解决方案是使用Profile,更普遍的方案可能是CreateUserwizard添加数据到我们自己的表...Provideruserkey的值插入到你自己的数据库表。...this.AddMyDataToMyDataSource(userinfo); } private void AddMyDataToMyDataSource(UserInfo myData) {    //添加数据到自己的数据库表...} Membership的相关文章: ASP.NET 2.0 Membership asp.net 2.0 用户管理功能结构 关于Membership的设置 (翻译)怎么在ASP.NET...2.0使用Membership Membership学习(四)-自定义MembershipProvider[xgluxv] Membership学习(三)Membership Providers介绍

    4.6K100

    谈谈WCF的客户端认证

    前者将用户存储于SQL Server数据,而后者则直接建立在AD之上,本实例采用SqlMembershipProvider,在前面一个实例演示,我们创建了以计算服务为场景的解决方案,现在我们直接沿用它...我们首要的任务是在用于存储帐户信息的SQL Server数据库,为此你可以先在本地SQL Server创建一个空的数据库(假设起名为AspNetDb)。...你接着需要在该数据创建SqlMembershipProvider所需的数据表和相应的存储过程。这些数据库对象的创建,需要借助aspnet_regsql.exe这个工具。...配置名称为AspNetDb的连接字符串连接的是我们刚刚创建的数据库,并通过aspnet_regsql.exe工具在该数据创建了所需的数据库对象; 表示Membership配置节的<system.web...上面配置的连接字符创名称AspNetDb配置在connectionStringName属性,意味着该SqlMembershipProvider会将我们创建的数据库作为用户帐号存储; 服务终结点采用WS2007HttpBinding

    1.2K100

    ASP.NET2.0应用定制安全凭证

    阅读提要 在缺省状况下,你只能使用Visual Studio 2005的一个本机实例来管理与ASP.NET 2.0一同发行的SQL Server数据的安全凭证。...如今,无论是互联网还是企业内部局域网程序一般都要求使用定制的方式来存储和管理用户帐户和角色。为此,ASP.NET 2.0提供了一个现成的提供者模型和一个SQL Sever数据库。...一、ASP.NET 2.0凭证基础结构   基于互联网的应用程序常常不依赖Windows帐户和组,而是依赖于基于表单的认证并结合某种SQL Server的后台定制凭证存储。...图1显示出ASP.NET 2.0安全提供者的架构。   Membership Provider负责管理用户,而Role Provider负责管理角色。在凭证存储,每个用户或角色仅限于一应用程序之内。... 既然SQL Server是ASP.NET 2.0提供的唯一的企业级定制凭证存储,你可以单独使用Visual Studio 2005驱动的管理页面来管理aspnetdb数据库,而不用任何其它存储

    1.3K90

    WCF版的PetShop之三:实现分布式的Membership和上下文传递

    一、 如何实现用户验证 对登录用户的验证是大部分应用所必需的,对于ASP.NET来说,用户验证及帐号管理实现在成员资格(Membership)模块。...通过ASP.NET提供的配置,你可以很轻易地把自定义的Provider应用到你的应用之中。...图1 ASP.NET Membership 设计原理 我们的案例并不会部署于AD之中,所以不能使用ActiveDirectoryMembershipProvider;直接通过Web服务器进行数据库的存取又不符合上述物理部署的要求...至于上下文数据的真正存储,如果当前HttpContext存在,将其存储与HttpSessionState,否则将其存储于CallContext。...注: 由于CallConext将数据存储于当前线程的TLS(Thread Local Storage),实际上HttpContext最终也采用这样的存储方式,所以ApplicaitonContext并不提供上下文信息跨线程的传递

    73960

    通用Web后台魔方NewLife.Cube

    魔方 是一个基于 ASP.NET MVC 的 用户权限管理平台,可作为各种信息管理系统的基础框架。...的连接字符串,用户角色权限菜单等存储在该数据库 系统自动识别数据库类型,默认\ 编译项目,项目上点击鼠标右键,查看,在浏览器查看,运行魔方平台 系统为SQLite/Oracle/MySql/SqlCe...数据库自动下载匹配(x86/x64)的数据库驱动文件,驱动下载地址可在Config\Core.config修改PluginServer 系统自动下载脚本样式表等资源文件,下载地址可在Config/Cube.config...修改PluginServer 默认登录用户名是admin,密码是admin 推荐安装 Visual Studio 插件 Razor Generator,给.cshtml文件设置自定义工具``RazorGenerator

    1.3K10
    领券