让SQL Server Compact支持 Membership, Role and Profile provider

功能描述:

实现在使用SQL Server Compact4.0数据库的网站里也能用“会员、角色、配置”功能作为表单验证等。

功能说明:

此功能由Nuget.org提供,它支持所有的SQL Sever 2005以上的版本,当然其中也包括SQL Server Compact 4.0.更多详细说明请点击这里

使用此功能的方法(只需要2个简单的步骤即可完成)

另:如果你正在用NuGet package,你仅仅需要设置roleManager-enabled=true即可。

第一步:复制"SqlCeMembershipProvider.cs、SqlCeMembershipUtils.cs、SqlCeProfileProvider.cs、SqlCeRoleProvider.cs"四个文件到/App_Code文件夹下(如果没有自己就建立一个)

第二步:修改你的web.config文件,并添加如下内容:

<connectionStrings>
    <add name="ApplicationServices" connectionString="data source=|DataDirectory|\SqlCeAspnetdb.sdf"/>
</connectionStrings>

<system.web>
   <compilation>
      <assemblies>
         <add assembly="System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>
      </assemblies>
   </compilation>
   <authentication mode="Forms">
    <forms loginUrl="~/Account/Login.aspx" timeout="2880"/>
   </authentication>
    <membership defaultProvider="SqlCeMembershipProvider">
      <providers>
        <clear/>
        <add 
              name="SqlCeMembershipProvider" 
              type="ErikEJ.SqlCeMembershipProvider" 
              connectionStringName="ApplicationServices" 
              applicationName="/" 
              enablePasswordRetrieval="false" 
              enablePasswordReset="true" 
              requiresQuestionAndAnswer="false" 
              requiresUniqueEmail="true" 
              passwordFormat="Hashed" 
              encryptionKey="FF09F72BA97CBBB5EEAAFF"
              writeExceptionsToEventLog="false" />
      </providers>
    </membership>
    <roleManager defaultProvider="SqlCeRoleProvider" 
            enabled="true" 
            cacheRolesInCookie="true" 
            cookieName=".ASPROLES" 
            cookieTimeout="30" 
            cookiePath="/" 
            cookieRequireSSL="false" 
            cookieSlidingExpiration="true" 
            cookieProtection="All">
      <providers>
        <clear/>
        <add 
            name="SqlCeRoleProvider" 
            type="ErikEJ.SqlCeRoleProvider" 
            connectionStringName="ApplicationServices" 
            applicationName="/" 
            writeExceptionsToEventLog="true"/>
      </providers>
    </roleManager>
  </system.web>

那么到现在你就可以用它创建用户或者用户角色了并可以用它进行登录控制等。

 源码下载

posted @ 2012-07-05 20:22  James·wang  阅读(404)  评论(0编辑  收藏  举报