Eric's Blog

有需求才有进步

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

aspnet_regsql -S 10.167.35.11 -U user -P psw -d database -A all

ASP.NET 2.0 中的Membership, Profiles 和Role需要把相关信息存储到数据源中. 这几项特性的默认的provider分别是 SqlMembershipProvider, SqlProfileProviderSqlRoleProvider.

如果你没有配置使用特别的provider, 你的程序就会使用以上默认的provider. 当你的程序第一次调用某个默认的provider时, ASP.NET会自动在App_Data 目录下新建一个SQL Express database用于存储所需的信息.

如果你想使用特定的SQL Server或SQL Express database server, 你必须配置你的程序以提供provider 所需的调用特定数据库的信息. 除此之外你必须配置相关的数据库.

使用Aspnet_regsql.exe来创建或配置特定的数据库.例如, 在命令行工具(cmd)里执行如下的指令:

aspnet_regsql -S (local) -E -A mpr

-S 指派特定的数据库服务器, 在这个例子里是(local).

-E 使用Windows信任连接连接相关SQL Server服务器.

-A mpr 添加相关支持,为:m: membership,p: profiles, r: roles.

执行Aspnet_regsql /?,你可以得到所有相关命令的列表.

Aspnet_regsql 配置成功的aspnetdb(或其他)数据库是使用数据库角色(database roles)来控制书库访问的. 你必须让运行ASP.NET 程序的帐号能够访问aspnetdb数据库,这样你的程序才能使用数据库中的相关信息. 例如, 在SQL Query Analyzer里执行以下语句,使Network Service帐号能够造作相关的数据:

--为Network Service帐号创建一个SQL Server登陆
sp_grantlogin 'NT AUTHORITY\Network Service'
--允许帐号访问membership数据库
USE aspnetdb
GO
sp_grantdbaccess 'NT AUTHORITY\Network Service', 'Network Service'
--把用户添加到数据角色
USE aspnetdb
GO
sp_addrolemember 'aspnet_Membership_FullAccess', 'Network Service'
posted on 2008-06-03 09:56  Eric.Chai  阅读(452)  评论(0)    收藏  举报