讨论一下怎么扩展2005的MemberShip.

觉得05里的MemberShip和Roles功能可以帮我们省略很多会员/权限/等方面的构架和编码.
但是自带的数据库字段有限,我们只有对其进行扩展才能满足自己系统的需求.
研究了一下.不知道怎么解决这些问题.
1、扩展信息是利用自带的Profile来保存,还是通过建立新表做关联来保存?
   我认为中大型系统做新表比较合理。因为Profile存储的字段长度有限,而且在数据库存储的形式不明了。

2、显示用户列表时候,默认的GetAllUsers()是返回的MemberShipUserCollection,而MemberShipUser实体的属性都是默认的。那么如果我要显示列表中需要显示扩展信息,如 公司名,联系人等这些信息时候怎么做?  是拓展MemberShipUser还是就对MemberShipUserCollection遍历然后逐一去读取公司名,然后再组成一个DataTable再绑定?

3、现在的会员搜索方式有限,比如只有GetUserNameByEmail(),GetUser(),GetAllUsers()等几个方法,如果我要根据其它字段去搜索,比如公司名,联系人等。如何去拓展?

希望能得到大家的帮助。

posted @ 2006-03-17 10:24 子扬's Blog 阅读(1779) 评论(6) 编辑 收藏

 回复 引用   
#1楼2006-03-22 18:11 | AndyDavis[未注册用户]
这里说了一些实现的方法。
http://www.microsoft.com/china/msdn/library/webservices/asp.net/ASP2memroleman.mspx?mfr=true

去这里下载些原码研究研究吧。
http://peterkellner.net/

我下载了MembershipODS的源码,在IDE中,可以方便的的ObjectDatasource来调用。可以不通过asp.net配置工作来管理成员角色了。

第二个是作者的BLOG,有更多的代码可以下载参考。
不过我对profile的实现还不是很清楚,也在学习中。

 回复 引用 查看   
#2楼2006-03-23 01:00 | AndyDavis      
换注册身份回复一下。
楼主的讨论的问题,我也在研究。 回头一起分享。

 回复 引用 查看   
#3楼2006-03-26 14:07 | zxWraith的窝      
是否可以继承membership类,来写自己需要个性化的代码?
并且自己改下数据表就差不多了吧

 回复 引用   
#4楼2006-03-29 12:40 | 吴健[未注册用户]
有这方面的例子,在SERVERSIDE上
 回复 引用   
#5楼2006-10-24 13:11 | fangyifeng[未注册用户]
是的 我也在为membership的问题头痛呢
 回复 引用   
#6楼2006-12-27 13:56 | 虫子[匿名][未注册用户]
正在研究这个.