在asp.net1.1和2.0下通过Membership完成帐户验证

简介:

最近在研究Membership这个东西,也就是一个微软提供Account,由于他的通用性这个Membership集成在VS2005中了,新的登录控件等都是用的Membership。其实Membership在1.1的时候就有了,不过是单独发布的一个组件,我最早是见于CommunityServer。把他们的数据库拿来分析对比可以发现,其实表,视图是完全一样的,不过就是存储过程不同。但这个不同可就麻烦了,1.1的Membership根本无法在2.0的数据库中添加帐户什么的,同样2.0的Membership也不能使用1.1的数据库。那么我想无论是1.1还是2.0的项目都使用同一个Membership数据库该怎么办啦?

为了达到无论是1.1的系统还是2.0的系统都使用同一个数据库的目的,我就把2.0的存储过程用户改为dbo,把1.1的存储过程改为membership,结果还是大失所望,Membership根本没有提供数据执行用户的修改,也就是说,只能执行dbo用户的存储过程。郁闷!

那么我就把数据库这边完全用2.0的Membership数据库嘛,在1.1中要到这个数据库中进行认证的时候就不用1.1的Membership(根本用不起),直接调用数据库中的存储过程嘛。这样当然是可以的,可是用户密码是SHA1加密的,而且其他地方也有不少修改,那么就要再从新写一个能执行2.0数据库的Membership,虽然有Reflector来看源代码,但是这个周期太长了,更痛苦。

那么还有什么好办法啦?最终我想到还是使用WebService算了。在2005下面建立WebService项目,使用2.0Membership数据库,把要用到的几个验证函数都写成Web服务,然后再在1.1中直接调用Web服务就是了。这个方法比较简单,以后所有2.0项目就可以直接使用Membership了,而1.1项目就调用Web服务。

呵呵,目前我所想到的就是这样的解决办法,也不知道还有更好的方案。

9801.aspx

本文转自深蓝居博客园博客,原文链接:http://www.cnblogs.com/studyzy/archive/2006/07/22/694102.html,如需转载请自行联系原作者

相关文章
|
Web App开发 .NET 数据安全/隐私保护
一起谈.NET技术,ASP.NET身份验证机制membership入门——项目
  前面说了很多关于membership的内容,感觉内容有点凌乱,内容都是一个个知识点,下面我们通过一个小的项目,来把所有的相关内容串一下。   首先描述一下需求:   我们要做一个最简单的网站。有三类用户:匿名用户,员工,管理员,网站结构如下:        admin目录下的页面只允许admin角色的用户访问,employee目录下的页面只允许emp角色的用户访问。
1088 0
|
Web App开发 .NET 数据库
|
.NET 数据安全/隐私保护 Windows
ASP.NET Core AD 域登录
在选择AD登录时,其实可以直接选择 Windows 授权,不过因为有些网站需要的是LDAP获取信息进行授权,而非直接依赖Web Server自带的Windows 授权功能。 当然如果使用的是Azure AD/企业账号登录时,直接在ASP.NET Core创建项目时选择就好了。
2248 0