• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • ASP.NET Whidbey中實現Provider

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    Asp.Net 2.0(codename Whidbey)通過Provider模式為用戶驗證、角色管理等方面提供了非常強大易用的框架模型。Whidbey中提供了一個Asp.Net configuration工具,通過它可以非常容易地配置用戶信息 數據庫 ,管理角色等等,再與新加入的Security控件配合,幾乎
    Asp.Net 2.0(codename Whidbey)通過Provider模式為用戶驗證、角色管理等方面提供了非常強大易用的框架模型。Whidbey中提供了一個Asp.Net configuration工具,通過它可以非常容易地配置用戶信息數據庫,管理角色等等,再與新加入的Security控件配合,幾乎不用寫什么代碼就能夠實現用戶驗證和角色管理功能。關于這些控件和配置工具的具體使用,可以參考這篇文章:使用更精簡的代碼保證 ASP.NET 應用程序的安全

      但是在PDC Preview版本的Whidbey中,這個配置工具的功能還不是很完善。從我使用的情況來看,它目前還只能創建和連接自己的Demo用的Aclearcase/" target="_blank" >ccess數據庫,不能連接SQL Server數據庫進行擴展。因此,為了能夠連接SQL Server,我們必須提供我們自己的Providers。這里以連接IBuySpy的Portal數據庫為例來說明如何實現一個Membership Provider。

      為了搞清楚如何實現我們自己的Membership Provider,有必要先看看Whidbey默認使用的Membership Provider是如何做的。在machine.config配置文件中,Whidbey使用類似下面這樣的配置實現:

    <membership defaultProvider="AspNetAccessProvider" userIsOnlineTimeWindow="15" >
    <providers>
    <add name="AspNetSqlProvider"
     type="System.Web.Security.SqlMembershipProvider, System.Web, Version=1.2.3400.0,  Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer"
    enablePasswordRetrieval="false"
    enablePasswordReset="true"
    requiresQuestionAndAnswer="false"
    applicationName="/"
    requiresUniqueEmail="false"
    passwordFormat="Hashed"
    description="Stores and retrieves membership data from the local Microsoft SQL Server database"
    />

    <add name="AspNetAccessProvider"
    type="System.Web.Security.AccessMembershipProvider, System.Web, Version=1.2.3400.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
    connectionStringName="AccessFileName"
    enablePasswordRetrieval="false"
    enablePasswordReset="true"
    requiresQuestionAndAnswer="false"
    applicationName="/"
    requiresUniqueEmail="false"
    passwordFormat="Hashed"
    description="Stores and retrieves membership data from the local Microsoft Access database file"
    />

    </providers>
    </membership>

      可以看出,Whidbey默認使用SqlMembershipProvider或者AccessMembershipProvider來進行用戶驗證和管理。這兩個Provider實現了IProvider和IMembershipProvider接口,實際上這兩個接口也是每個MembershipProvider所必需的,其中IProvider負責Provider的初始化,而IMembershipProvider則實現MembershipProvider的主要功能。它們的定義如下:
      
      namespace System.Configuration.Provider
      {
       public interface IProvider
       {
        public string Name { get; }
        public void Initialize(string name,
        System.Collections.Specialized.NameValueCollection config);
       }
      }
      
      namespace System.Web.Security
      {
       public interface IMembershipProvider
       {
        public bool ChangePassword(string name, string oldPwd, string newPwd);
        public bool ChangePasswordQuestionAndAnswer(string name, string password,
      string newPwdQuestion, string newPwdAnswer);
        public System.Web.Security.MembershipUser CreateUser(string username, string password, string email,out System.Web.Security.MembershipCreateStatus status);
        public bool DeleteUser(string name);
        public System.Web.Security.MembershipUserCollection GetAllUsers();
        public int GetNumberOfUsersOnline();
        public string GetPassword(string name, string answer);

    本新聞共3頁,當前在第1頁  1  2  3  

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>