• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

详解ASP.Net 4中的aspnet_regsql.exe

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Asp.Net 内置支持成员管理功能,利用这个,你可以非常安全的存储和验证用户信息。 特别当你将成员管理与角色和个性化管理结合在一起,你就能创建一个强大的应用系统。Asp.Net包含一系列类让你访问成员管理和角色相关的功能,你可以通过下面的的链接来了解这些类。

http://msdn.microsoft.com/en-us/library/91f66yxt.aspx

 

Asp.Net的成员管理功能可以将成员信息保存在 SQL Server 数据库中, 为了在一个项目中使用成员管理, 你必须在数据库中安装跟成员管理相关的表,视图和存储过程, 一旦安装成功,那么你就能通过代码来控制用户、角色和个性化设置。

 

在这篇文章中, 我打算为asp.net的成员管理创建一个数据库, 在做这个之前,必须先安装.net framwork和asp.net .

 

我们在SQL SERVER中先创建一个数据库“MembershipDB”:

这是个空的数据库,除了默认的系统表,什么都没有。

ASP.Net提供了一个有用的工具,“aspnet_regsql.exe”, 利用它可以帮助你创建成员管理相关的表,存储过程等。你可以在目录“<windowsDirectory>\Microsoft.Net\Framework\<version>\ ”下找到,如果你是默认安装在C盘,这个工具在.Net 4的路径是:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319

 

 

打开命令行窗口,并将路径切换到上面提到的目录,输入aspnet_regsql in 。(你也可以打开VISUAL STUDION提供的COMMAND PROMPT工具)

 

这时候,会弹出SQL注册向导。

 

点击 next

 

确保数据库连接信息的准确性,现在,选择数据库“MembershipDB”

 

确认

 

点击 next

 

点击结束,退出向导。

 

检查数据库, 你会看到,这个工具已经帮助我们创建了Membership表和存储过程等。

这个向导工具非常易于使用,但它也有一些不足,比如,你不能单独选择某个特性,有时候,我只想使用成员管理和角色管理,但是你不能在这个向导里进行配置,正常情况下,管理员都倾向作用命令行,aspnet_regsql 也支持在命令行里执行,下面列出了aspnet_regsql 工具常用的参数信息:

Parameter Description
-E 用当前windows 用户凭证来验证
-S SQL Server 实例
-d 数据库名
-C 连接字符串,如果用这个参数,你就不需要单独指定数据器实例
-A all|m|r|p|c|w A代表增加,其它关键字可以组合使用,比如,如果你只想安装membership 和roles,使用-A mr

支持的选项:

all – 所有功能特性

m – Membership

r – roles

p – profiles

c- personalization

w – SQL web events

-R all|m|r|p|c|w 移动指定的功能特性
-? 列出工具支持的所有参数

 

看些例子

1. 从数据库中,移除所有的功能

命令: aspnet_regsql.exe -E -S sp2010_db -R all -d MembershipDB

The command will ask you a confirmation, you need to enter y for confirming. If you check your database now, you will see the tables and stored procedures are removed from database.

系统会提示你确认,当你输入“y”确认,再检查数据库,这时个所有的表和存储过程都已经被删除

2.增加membership 和roles管理功能

aspnet_regsql.exe -E -S sp2010_db -A mr -d MembershipDB

 

检查数据库,你会看到只有成员和角色相关的信息被生成。

3.列出所有可用的选项

aspnet_regsql.exe -?

有点要注意的是:这些参数是大小敏感,aspnet_regsql.exe 是个很实用的工具,可以帮助开发人员快速创建表信息,正常情况下,开发者都需要在表中插入一些测试数据,有两种方式,可以让你增加新的用户和角色

1. ASP.Net Website Administration Tool

你可以在Visual Studio的项目中,启动这个管理工具,位于“project”菜单。

这个工具会使用machine.config里预先设置好的“LocalSQLServer”字符串来连接数据库,如果你打算用“ASP.Net configuration tool ”来连接你的数据库,必须在你的web.config 中重写“LocalSQLServer”,然后将数据库信息用你的替换。有点要注意,确保你使用了<clear/>或者<remove>来移除原先的定义,因为所有的配置信息都继承了machine.config,下面的连接字符串信息可以在 “ASP.Net configuration”中正常工作。

2. 使用SQL指定

你可以直接在SQL server 的IDE中直接运行SQL 命令来创建用户和角色:

--*****创建用户*****--

declare @now datetime
set @now= GETDATE()
exec aspnet_Membership_CreateUser 'FormAuthApplication','admin1','pass@word1', '','[email protected]','','',1,@now,@now,0,0,null

-- 执行上面的命令,会创建用户名为“admin1 ”,密码“pass@word1 ”,应用程序名称“FormAuthApplication”,理论上,你可以在同个数据库中创建任意多个应用程序,而且每个应用程序拥有其自己的用户群,你只需要在创建用户的时候,指定好它的应用程序名称。

--*****创建角色*****--
--Create Role
EXEC aspnet_Roles_CreateRole ' FormAuthApplication', 'Admin'
--为应用程序“FormAuthApplication”创建角色'Admin'

 

--*****将用户与角色关联*****--
EXEC aspnet_UsersInRoles_AddUsersToRoles ' FormAuthApplication', 'admin1', 'Admin', 8
--将用户与角色关联

创建基于应用程序的成员管理功能是非常简单的事情,当然你也可以将成员管理与“form ”认证机制一起使用,来创建基于用户的认证体系。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ASP.NET MVC Freamework blogs from ScotteGu发布时间:2022-07-10
下一篇:
asp.net如何防止按F5重新提交表单发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap