我有一个Web服务调用方法来验证用户
方法是:
public bool getUser(string User, string Pass)
{
return( Membership.ValidateUser(TvId, TvPass));
}
但是Membership.ValidateUser需要连接到db,我使用Entity框架,有什么帮助吗?
答案 0 :(得分:0)
这并不意味着您使用实体框架或Ado.net类来与数据库建立连接。成员资格提供者也将使用实体框架。您需要在Web.config文件中定义成员资格连接字符串
答案 1 :(得分:0)
我们定义了两个不同的连接字符串,一个用于EF,一个用于成员资格提供程序,即使它们都是相同的数据库。
所以在Web.config中我们有:
<configuration>
<connectionStrings>
<!-- Used by the EF DbContext -->
<add name="EFConnection" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string="Data Source=localhost;Initial Catalog=MyDB;Persist Security Info=False;Trusted_Connection=yes;MultipleActiveResultSets=true;"" providerName="System.Data.EntityClient" />
<!-- Used for membership, see the Web.config entries below -->
<add name="ApplicationServices" connectionString="data source=localhost;initial catalog=MyDB;Persist Security Info=False;Trusted_Connection=yes;MultipleActiveResultSets=true;" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<membership>
<providers>
<!-- Uses the ApplicationServices connection string defined above to set the connection information for the membership provider -->
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="ePubDirect" />
</providers>
</membership>
</system.web>
</configuration>
当然,Web.config中也存在大量其他内容,并且您的连接字符串可能与我的本地开发环境非常不同,但这是您的成员资格工作所需的布线类型。 / p>
您可能需要更多类似的东西,而不是System.Web.Security.SqlMembershipProvider:
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
或者您正在使用的任何会员提供商。您的详细设置也可能与这些设置不同。