• 在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服务。

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

    【本文章出自博客园深蓝居,转载请注明作者出处,如果您觉得博主的文章对您有很大帮助,欢迎支付宝(studyzy@163.com)对博主进行打赏。】
  • 相关阅读:
    二叉查找树
    Rust更换Crates源
    Raft共识算法
    Session
    可以编写代码的代码:代码生成的利与弊
    引用和自包含令牌(Reference Tokens and Introspection)
    认证授权-学习笔记1-OAuth 2.0
    spring security原理-学习笔记2-核心组件
    spring security原理-学习笔记1-整体概览
    零拷贝Zero copy-linux and java
  • 原文地址:https://www.cnblogs.com/studyzy/p/694102.html
Copyright © 2020-2023  润新知