2013-04-17 5 views
0

У меня есть проект WebAPI со слоем репозитория. Для методов, связанных с счетами, я не уверен, какой метод использовать здесь:SimpleMembershipProvider vs WebSecurity

public class RepositoryService : IRepositoryService 
    { 
     private readonly SimpleMembershipProvider _membership; 
     public RepositoryService() 
      { 
      _membership = (SimpleMembershipProvider)Membership.Provider; 
      } 

Чтобы проверить, если пользователь существует:

public bool UserExists(string userName) 
    { 
     return WebSecurity.UserExists(userName); 
    } 

ИЛИ

public bool UserExists(string userName) 
{ 
    return _membership.GetUser(userName, true) != null; 
} 

Я интересно потому что в других местах мне кажется, что я должен использовать _membership (например, для получения определенного пользователя):

public MembershipUser GetUser(string userName) 
    { 
     return _membership.GetUser(userName, false); 
    } 

Но кажется странным, что я должен использовать _membership и WebSecurity. Есть ли что-нибудь «вонючее» об использовании обоих?

+0

они должны были назвать его 'LimitedMembershipProvider' или' SimpleMembershipWithConfusingUpgradePathProvider' –

+0

Членство воняет; в VS2013 тоже. Как сбросить пароль в System.Web.Providers.DefaultMembershipProvider. ** ... вы не можете использовать существующий MemberhipProvider (включая Универсальные Провайдеры, найденные в System.Web.Providers) с API, который требует SimpleMembershipProvider, включая любой из вызовов в WebMatrix.WebData.WebSecurity или Microsoft.Web.WebPages. OAuth.OAuthWebSecurity. ** [ссылка] (http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net- 4-5-веб-форм-и-Asp-нетто-4 MVC-templates.aspx-) – subsci

ответ

0

Ниже, кажется, предполагает, что все в порядке:

Из документов MSDN http://msdn.microsoft.com/en-us/library/gg547905%28v=vs.111%29.aspx на WebSecurity class:

За кулисами, класс WebSecurity взаимодействует с поставщиком членства ASP.NET что в свою очередь, выполняет работу нижнего уровня, которая является , необходимой для выполнения задач безопасности. Членство по умолчанию провайдер в веб-страницах ASP.NET - это класс SimpleMembershipProvider.

Смежные вопросы