自定义aspnetdb数据库链接

来源:互联网 发布:12-13科比数据 编辑:程序博客网 时间:2024/05/15 11:53

自定义aspnetdb数据库
 ASP.NET2.0中引用provider模式后,向membership  roles  prfile成员资格管理组件,就是以这种模式构建起来的,为程序的简化带来了极大的方便。要想灵活充分发挥它们的作用,需要自定义使用它们。今天看了一些这方面的文章,小有收获,把一些实用知识收集如下。

下面简要叙述在ASP.NET 2.0中使用SQL Server 2K/2K5做支持数据库的步骤:

在Visuaol Studio 2005的命令行环境中执行命令:aspnet_regsql。该工具可以为ASP.NET 2.0在指定的SQL Server上建立或指定一个支持数据库,默认名字为aspnetdb

接下来需要修改配置文件,可以在通过修改$:WINDOWS/Microsoft.NET/Framework/v2.0.50727/CONFIG/machine.config来实现,但修改machine.config文件并不是一个好的方法,好在ASP.NET 2.0提供了在Web.Config文件中修改的办法。

打开一个Web应用程序的Web.Config文件,添加如下配置节:
<connectionStrings>
    <remove name="LocalSqlServer" />
    <add name="LocalSqlServer" connectionString="server=(local);trusted_connection=false;user id=sa;pwd=8848;database=aspnetdb" providerName="System.Data.SqlClient" />
</connectionStrings>
首先用remove去掉在machine.config中定义的LocalSqlSever连接配置,那个连接是指向本地安装的Sql Express的;然后再重新添加一个LocalSqlServer数据库连接指向想要设定的Sql Server服务器数据库。

然后在<system.web>节点中去配置一个默认的使用LocalSqlServer数据连接的Provider,如下:
<system.web>
    <membership defaultProvider="SqlMembershipProvider">
      <providers>
        <add connectionStringName="LocalSqlServer" name="SqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      </providers>
    </membership>
</system.web>

 

本人认为,可以只更改数据库链接串

<connectionStrings>
    <clear/>
    <add name="LocalSqlServer" connectionString="server=GCL-506CBD461C4/SQLEXPRESS;trusted_connection=false;user id=sa;pwd=123456;database=aspnetdb" providerName="System.Data.SqlClient" />
  </connectionStrings>

第4项可以不用更改,使用machine中原有的即可。使用clear命令清除继承的字符串。试验通过。

表名:aspnet_Applications
说明:保存应用程序信息 字段名
  类型  属性 说明
 
 ApplicationName  nvarchar(256)    应用程序名
 LoweredApplicationName  nvarchar(256)    小写的应用程序名
ApplicationId
  uniqueidentifier  PK 应用程序的id, GUID值
 
 Description  nvarchar(256)  nullable 应用程序的 描述

表名:aspnet_Paths
说明:路径信息


字段名
  类型  属性 说明
 
 ApplicationId  uniqueidentifier  FK: appnet_Applications.ApplciationId
  应用程序Id
 PathId  uniqueidentifier  PK  路径Id
 Path  nvarchar(256)    路径信息
 
 LoweredPath
  nvarchar(256)   小写的路径信息
 


表名:aspnet_Users
说明:用户信息
 字段名  类型  属性  说明
 ApplicationId  uniqueidentifier    应用程序Id
 UserId
  uniqueidentifier  PK 用户Id
 
 UserName  nvarchar(256)    用户名
 LoweredUserName  nvarchar(256)    小写的用户名
 MobileAlias  nvarchar(16)    移动电话的pin码(未使用)
 IsAnonymous  bit    是否为匿名用户
LastActivityDate
  datetime    最后活动日期
 

表名:aspnet_Membership
说明:成员信息
 字段名  类型  属性  说明
 ApplicationId  uniqueidentifier  FK: appnet_Applications.ApplciationId
  应用程序Id
 UserId
  uniqueidentifier  FK: aspnet_Users.UserID
 用户Id
 
 Password
  nvarchar(128)    密码
 
 PasswordFormat  int   存储密码的格式 
 PasswordSalt  nvarchar(128)   密码的Hash值
 
 MobilePIN  nvarchar(16)    手机PIN码
 Email
  nvarchar(256)    电子邮件地址
 
 LoweredEmail  nvarchar(256)    小写的电子邮件地址
 PasswordQuestion  nvarchar(256)    遗忘密码问题
 
 PasswordAnswer  nvarchar(128)    遗忘密码答案
 IsApproved  bit    
 IsLockedOut  bit    是否锁住
 CreateDate  datetime
    创建时间
 LastLoginDate  datetime    最后登录时间
 LastPasswordChangedDate  datetime    最后密码更改时间
 LastLockoutDate  datetime    最后一次锁帐号的时间
 FailedPasswordAttemptCount  int    密码失败尝试次数
 FailedPasswordAttemptWindowStart  datetime    密码失败尝试窗口打开时间
 FailedPasswordAnswerAttemptCount  int    遗失密码问题尝试次数
 FailedPasswordAnswerAttemptWindowStart  datetime    遗失密码问题输入窗口打开时间
 Comment  ntext    备注

表名:aspnet_Roles
说明:角色表
 字段名  类型  属性  说明
ApplicationId
  uniqueidentifier  FK: appnet_Applications.ApplciationId
 应用程序Id
 
 RoleId  uniqueidentifier  PK
  角色Id
 RoleName  nvarchar(256)    角色名称
 LoweredRoleName  nvarchar(256)    小的角色名称
 Description  nvarchar(256)  nullable  描述

表名:aspnet_UsersInRoles
说明:用户角色关系表
 字段名   类型  属性
 说明
 UserID  uniqueidentifier  FK: aspnet_Users.UserId
 用户ID 
 RoleID  uniqueidentifier   FK: aspnet_Roles.RoleId
  角色ID

表名:aspnet_Profile
说明:Profile对象存储表
字段名
 类型  属性  说明 
 UserId  uniqueidentifier   FK: aspnet_Users.UserId
  用户ID
 PropertyNames  ntext    属性名称
 PropertyValuesString  ntext    字符串值
 PropertyValuesBinary  image    二进制值
LastUpdatedDate
  datetime   最后更新日期 

asp.net 2.0中扩展login控件

asp.net 2.0中,login登陆控件是个不错的选择,但有时需要扩展该控件,比如,在一个OA系统中,有时要选择登陆的用户所在的是集团的哪一个子公司,这样,除了用户名,密码外,还需要有个dropdownlist,设置为该集团的所有子公司名,象这样应该如何实现呢?
      我们可以首先选择login control,并且将其转换为模版列,在其中加上一个dropdownlist,如下:
 
 
<asp:Login ID="Login1" runat="server" OnLoggingIn="Login1_LoggingIn">
            <LayoutTemplate>
                        ….
                        <asp:DropDownList id=”companies” runt=”server” …>
                                 ….
                        </asp:DropDownList>
                        ….
            </LayoutTemplate>
</asp:Login>
  然后在login控件的Authenticate事件中,写入如下代码:


protected void Login1_ Authenticate (object sender, AuthenticateEventArgs e)
{
       string company:
 
        DropDownList companies = Login1.FindControl("companies ") as DropDownList;
        if (companies != null)
            company = companies.SelectedValue;
 
       …
       //Validate the user..
       e.Authenticated = true;
}


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sdwszl/archive/2007/04/21/1573902.aspx

原创粉丝点击