ASP.NET面向角色授权之:自带登录控件登录验证与授权原理及自定义修改方法。

来源:互联网 发布:网络预约出租车驾驶证 编辑:程序博客网 时间:2024/05/17 01:30


在ASP.NET1.x中,需要编写大量代码来实现可靠的安全策略,ASP.NET2.0和之后的版本中提供的高级控件和概念及应用程序服务,提供这些控件和应用程序服务不需要编写任务代码而只需通过简单的配置即可实现验证与授权的安全策略。

ASP.NET登录验证提供程序结构如图:

 

Ø  本图显示了登录控件与提供者程序与底层的数据库存相前。

Ø  不用编写任何代码即可完成登录与授权。

原理及如何自定义:
 

注:

Ø  登录控件从web.config中取的当前是调用哪个成员提供程序,如图中序号1箭头。提供程序配置默认在machine.config中配置。当然不建议直接修改machine.config,默认为SqlMembershipProvider,如果有自定义成员提供程序可以在应用程序中的web.config.重新编辑指定。

Ø  提供程序通过web.config的连接语句读写指定的数据库存,默认为sqlexpress数据库存,登录控件在第一次运行时会检查数据,如果没有则创建,数据库文件为aspnetdb.mdf,创建后会在.net解决方案的app_data目录下看到该数据库文件。如图中序号3箭头

Ø    登录控件调用提供程序,如图中箭头2.

Ø  提供程序读写数据库,图中箭头5.

Ø  配置也可以通过aspnet服务管理程序配置,管理程序在vs.net菜单项目/ASP.NET配置里。

Ø  如果要采用自定的数据库,哪MS SQLSERVER企业版,或oracle,则采用命令,则可以修改供程序的数据库连接。然后通过aspnet_regsql创建初始的数据库结构。

Ø  也可以采用自定义的成员提供程序,自定义成员提供程序编写引见博文:

http://www.csharpwin.com/dotnetspace/10621r162.shtml

0 0