2008-12-30 66 views
1

我想從頭開始構建類似門戶網站的web應用程序,並將asp.net MembershipProvider作爲用戶管理的標準方式。我創建我的供應商從SqlMembershipProvider的繼承和超越的ValidateUser方法:可以使用.NET MembershipProvider在一個Web應用程序上擁有多個虛擬「應用程序」嗎?

 public override bool ValidateUser(string username, string password) 
     { 
      string temp = ApplicationName; 
      List<MtscApp> allApps = GetAllApplications(); 
      foreach (MtscApp app in allApps) 
      { 
       ApplicationName = app.Name; 
       Roles.ApplicationName = app.Name; 
       if (base.ValidateUser(username, password)) 
       { 
        return true; 
       } 
      } 
      ApplicationName = temp; 
      Roles.ApplicationName = temp; 
      return false; 
     } 

我試圖驗證輸入憑證對所有的應用程序,而GetAllApplicationsMethod()獲取所有應用程序aspnet_Applications表(我也有一部分在插入應用程序同一張桌子)。

如果驗證成功,則應用程序名稱將隸屬於成員資格和角色提供者,否則它將保留在默認用戶的預定義應用程序中。

回答

1

是的,我已經做了幾次類似的事情。唯一的區別是我根據用戶進來的URL查看數據庫表中的應用程序名稱,只驗證該應用程序。該表有兩個字段,URL和ApplicationName。 ApplicationName與aspnet_Applications.ApplicationName字段的ApplicationName相同。

相關問題