ColdFusion中的ASP成员配置文件
我正在尝试复制ColdFusion中的ASP成员资格配置文件功能。基本上,我希望能够获取并保存属性值 为了了解我的基本需求,我有以下几点:ColdFusion中的ASP成员配置文件,coldfusion,coldfusion-9,membership-provider,asp.net-profiles,Coldfusion,Coldfusion 9,Membership Provider,Asp.net Profiles,我正在尝试复制ColdFusion中的ASP成员资格配置文件功能。基本上,我希望能够获取并保存属性值 为了了解我的基本需求,我有以下几点: table: aspnet_Profile UserID | PropertyNames | PropertyValuesString |...| LastUpdatedDate xyzxyz | FirstName:S:0:5:LastName:S:5:1: | SollyM |...| 2013-01-01 00:00:00.000 现在使用ASP.n
table: aspnet_Profile
UserID | PropertyNames | PropertyValuesString |...| LastUpdatedDate
xyzxyz | FirstName:S:0:5:LastName:S:5:1: | SollyM |...| 2013-01-01 00:00:00.000
现在使用ASP.net,使用profile.GetPropertyValue(“FirstName”)
将返回Solly
和profile.GetPropertyValue(“LastName”)
将返回M
物业名称的解释如下:
LastName => PropertyName
S => String
5 => Starting Position
1 => Length
要保存新的LastName
,请使用profile.SetPropertyValue(“LastName”、“de Mots”)
,表格如下所示:
table: aspnet_Profile
UserID | PropertyNames | PropertyValuesString |...| LastUpdatedDate
xyzxyz | FirstName:S:0:5:LastName:S:5:7: | Sollyde Mots |...| 2013-01-02 00:00:00.000
我如何在ColdFusion中复制这一点
我已经试了两天多了。我终于写了自己的CFC,可以从 有3个功能:
PasswordEncrypt
=>如果我在CFM中对密码进行哈希运算以匹配成员身份时必须处理查询,那么这就是一个问题ProfileGet(“UserId”、“PropertyName”)
=>返回属性名的值ProfileSet(“UserId”、“PropertyName”、“NewPropertyValue”)
=>使用NewPropertyValue
更新PropertyName
请注意,
ProfileGet
和ProfileSet
仅处理配置文件的PropertyValuesString
,而不是PropertyValuesBinary
。您可以对此进行扩展以获得更多信息。我终于编写了自己的CFC,可以从
有3个功能:
PasswordEncrypt
=>如果我在CFM中对密码进行哈希运算以匹配成员身份时必须处理查询,那么这就是一个问题ProfileGet(“UserId”、“PropertyName”)
=>返回属性名的值ProfileSet(“UserId”、“PropertyName”、“NewPropertyValue”)
=>使用NewPropertyValue
更新PropertyName
请注意,
ProfileGet
和ProfileSet
仅处理配置文件的PropertyValuesString
,而不是PropertyValuesBinary
。您可以对此进行扩展以获得更多信息。这些配置文件数据存储在数据库中吗?是的。这就是我试图在MSSQL中复制aspnet\u Profile
表的原因。PropertyNames
和PropertyValueString
属于NTEXT
类型UserID
是UNIQUEIDENTIFIER
,lastUpdateDate
是DateTime
(我不担心)。“…
”表示我没有使用的列。如果您可以利用它,ColdFusion就有。还是你要完全远离.NET?这太棒了。不,我不是在逃避。事实上,我正在编写内部CF系统的.NET版本以及.NET中所有与成员资格相关的函数。我必须在CF中复制这些函数,而不使用其他表。您是否尝试指定程序集
,并将其指向正确的DLL?在我之前提供的链接上阅读。这些配置文件数据存储在数据库中吗?是的。这就是我试图在MSSQL中复制aspnet\u Profile
表的原因。PropertyNames
和PropertyValueString
属于NTEXT
类型UserID
是UNIQUEIDENTIFIER
,lastUpdateDate
是DateTime
(我不担心)。“…
”表示我没有使用的列。如果您可以利用它,ColdFusion就有。还是你要完全远离.NET?这太棒了。不,我不是在逃避。事实上,我正在编写内部CF系统的.NET版本以及.NET中所有与成员资格相关的函数。我必须在CF中复制这些函数,而不使用其他表。您是否尝试指定程序集
,并将其指向正确的DLL?请在我之前提供的链接上阅读。感谢您发布您的解决方案。在最终版本中,只需确保var/local
scope所有函数局部变量。否则,如果cfc存储在共享作用域中,您将遇到奇怪的线程问题。另外,请确保使用cfqueryparam
来防止sql注入。您能访问我的答案中提供的链接并更新代码吗?你不必登录。我想它会询问你的姓名和电子邮件,你可以编辑文件。我本来打算这么做的,但是。。本周我没有访问sql表的权限,不想因为无意中的输入错误而破坏工作代码;)。感谢您发布您的解决方案。在最终版本中,只需确保var/local
scope所有函数局部变量。否则,如果cfc存储在共享作用域中,您将遇到奇怪的线程问题。另外,请确保使用cfqueryparam
来防止sql注入。您能访问我的答案中提供的链接并更新代码吗?你不必登录。我想它会询问你的姓名和电子邮件,你可以编辑文件。我本来打算这么做的,但是。。本周我没有访问sql表的权限,不想因为无意中的输入错误而破坏工作代码;)。