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表(我也有一部分在插入應用程序同一張桌子)。
如果驗證成功,則應用程序名稱將隸屬於成員資格和角色提供者,否則它將保留在默認用戶的預定義應用程序中。