簡體   English   中英

ASP.NET成員資格-站點上有兩個提供程序

[英]ASP.NET Membership - Two providers on site

我們的站點有兩個ASP.NET成員資格提供程序。 內置的和自定義的(SqlMembershipProvider。

我可以無問題地登錄,但是我並不需要同時登錄。

我遇到的問題如下:

用戶“ person_a@site.com”登錄到內置提供程序。 然后,他們導航到我們需要自定義提供程序的網站部分。

在此頁面上,我可以檢查它們是否已通過身份驗證,並獲取其用戶名。 然后,我可以從自定義提供程序GetUser方法獲取MembershipUser對象。 (HttpContext.Current.User.Identity.Name)

自定義提供程序的用戶中也可能存在用戶名“ person_a@site.com”(非常有可能)。

但是,我不希望它們在此處登錄,因為它們尚未針對自定義提供程序進行身份驗證。

因此,可以檢查生成了哪個提供者HttpContext.Current.User。

希望這一切都有道理!

是的,如果您在RolePrincipal上注意到有一個名為ProviderName的屬性。

通常,當人們使用自己的提供商時,他們會忽略此字段的使用。

對於您的情況,只需修改自定義提供程序以標識自身(如果尚未標識),然后檢查用戶的該屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM