网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

有关membership实用性讨论

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/13

         第一次接触membership,被它的强大的功能,和便捷的使用所吸引。但是再近一步理解它,便不觉得它好了,首先,因为vs中它是默认使用sql server 2005 express的,如果想使用其他数据库该怎么办?其次,它所提供的用户信息也很少,如果要添加自定的信息应该怎样扩展?
        asp.net 2.0已经出来这么久了,我想应该不少人有这样的疑惑了吧!就用google搜索看是否有同我“志同道合”的同志,先是找到这么一段:
        
           最近看了一下asp.net2的用户管理模型,个人感觉他的确提供了很集成化的功能,对于一般的应用可以很傻瓜式的达到要求。但是在使用中也有以下几点疑问:

           1、无论我怎么配置,用户数据还是存储在app_data文件夹aspnetdb中,怎么让他存储在server的数据库中呢,比如我在server的myappDB数据库中也同样构造了aspnetdb中的表和存储过程?

           2、如果我要在现有用户表上扩展功能,我还能使用MemberShip类实现吗?比如,我要记录用户的登录次数(目前aspnetdb用户表似乎没有这个),或者说每个用户都有一个账户余额,并且在创建用户的时候将为每个用户给定一个可能不同的初始余额,在登录的时候将会根据余额来判断用户能否登录成功。那么这个时候MeberShip.CreateUser(),Login控件等还有用吗,或者说怎么最大化的使用原有的方法。同时,MemberShip.DeleteUser似乎是物理删除数据(不是用IsDeleted字段),这个在应用中好像一般不是这样吧。

          上面的疑问主要是vs2005新的Login系列控件的实用性问题,欢迎大家讨论并给出一点建议和思路。
============================

上面的帖子是我这几天一直存在的疑问,虽然我也知道要用继承自MembershipProvider的自定义类来解决这个问题,而且我也仔细的看了msdn的多篇相关文档,以及vs帮助中的《如何:成员资格提供程序实现示例》,但看过这些后我都没有找到解决我的问题的关键所在:

MembershipUser类是基于aspnetdb中的aspnet_Membership表的结构的(似乎可以这么说,MembershipUser类就是aspnet_Membership表的 Model),而基本上所有的Membership类以及MembershipProvider类的方法和字段都与MembershipUser有关。由于这个关系,我在自定义MembershipProvider的时候就会碰到这样的问题,MembershipProvider.GetUser是返回MembershipUser的,而事实上,我的自定义User表结构可能和aspnet_Membership表不同(比如加了n个自定义字段),这时我却无法在返回的结果中反映这个变化,得到这些信息,因为MembershipUser没有对应的字段。这个问题的存在就让我感觉到我的大部分的所谓的自定义MembershipProvider就是换汤不换药,徒劳而已。

希望得到高手指点。。也欢迎大家讨论。


           关于使用其他数据库有人给出了这样的答复:

 第一个问题:2005下的membershipProvider默认调用的是SQLExpress数据库,这个在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config下面的machine.config里面可以看到,如果你像使用SQLServer2k或者2k5,运行:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regSQL.exe程序,里面更改默认数据库,然后在项目的web.config中重写配置文件
<membership>
<providers>

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号