程序设计教程的安全管理.ppt
- 文档编号:18878328
- 上传时间:2024-02-07
- 格式:PPT
- 页数:17
- 大小:96.50KB
程序设计教程的安全管理.ppt
《程序设计教程的安全管理.ppt》由会员分享,可在线阅读,更多相关《程序设计教程的安全管理.ppt(17页珍藏版)》请在冰点文库上搜索。
第第12章章ASP.NET的安全管理的安全管理本章讲述的主要内容本章讲述的主要内容12.112.112.112.1用户身份认证用户身份认证用户身份认证用户身份认证12.212.212.212.2使用网站管理工具进行安全设置使用网站管理工具进行安全设置使用网站管理工具进行安全设置使用网站管理工具进行安全设置12.312.312.312.3使用登录控件使用登录控件使用登录控件使用登录控件12.412.412.412.4使用使用使用使用MembershipAPIMembershipAPIMembershipAPIMembershipAPI12.1用户身份认证用户身份认证12.1.112.1.112.1.112.1.1传统的认证方法传统的认证方法传统的认证方法传统的认证方法所谓传统的所谓传统的所谓传统的所谓传统的ASP.NETASP.NETASP.NETASP.NET用户身份认证是指,使用用户身份认证是指,使用用户身份认证是指,使用用户身份认证是指,使用SessionSessionSessionSession对象保对象保对象保对象保存用户登录成功与否和用户存用户登录成功与否和用户存用户登录成功与否和用户存用户登录成功与否和用户“角色角色角色角色”等信息。
当用户访问除了登等信息。
当用户访问除了登等信息。
当用户访问除了登等信息。
当用户访问除了登录页面之外的其他页面时,程序首先检测录页面之外的其他页面时,程序首先检测录页面之外的其他页面时,程序首先检测录页面之外的其他页面时,程序首先检测SessionSessionSessionSession对象中保存的对象中保存的对象中保存的对象中保存的数据,从而判断用户是否已通过了身份验证,若用户用户属于直数据,从而判断用户是否已通过了身份验证,若用户用户属于直数据,从而判断用户是否已通过了身份验证,若用户用户属于直数据,从而判断用户是否已通过了身份验证,若用户用户属于直接调用本页面接调用本页面接调用本页面接调用本页面URLURLURLURL并未通过身份认证则跳转回登录页面,否则继并未通过身份认证则跳转回登录页面,否则继并未通过身份认证则跳转回登录页面,否则继并未通过身份认证则跳转回登录页面,否则继续执行后续代码(即本网页功能实现代码)。
用户登录成功后,续执行后续代码(即本网页功能实现代码)。
用户登录成功后,续执行后续代码(即本网页功能实现代码)。
用户登录成功后,续执行后续代码(即本网页功能实现代码)。
用户登录成功后,ASP.NETASP.NETASP.NETASP.NET应用程序会从应用程序会从应用程序会从应用程序会从SessionSessionSessionSession中读取用户的中读取用户的中读取用户的中读取用户的“角色角色角色角色”信息,根据信息,根据信息,根据信息,根据“角色角色角色角色”不同返回不同的页面或同一页面中不同的内容不同返回不同的页面或同一页面中不同的内容不同返回不同的页面或同一页面中不同的内容不同返回不同的页面或同一页面中不同的内容。
12.1用户身份认证用户身份认证12.1.212.1.212.1.212.1.2基于角色的安全管理简介基于角色的安全管理简介基于角色的安全管理简介基于角色的安全管理简介基于角色的安全管理技术主要包括以下两个方面的内容基于角色的安全管理技术主要包括以下两个方面的内容基于角色的安全管理技术主要包括以下两个方面的内容基于角色的安全管理技术主要包括以下两个方面的内容:
1)1)1)1)用户身份认证:
主要包括:
新用户注册、用户登录、修改密码、用户身份认证:
主要包括:
新用户注册、用户登录、修改密码、用户身份认证:
主要包括:
新用户注册、用户登录、修改密码、用户身份认证:
主要包括:
新用户注册、用户登录、修改密码、遗忘密码处理、显示状态和其他有关信息等。
这些操作基本上都可遗忘密码处理、显示状态和其他有关信息等。
这些操作基本上都可遗忘密码处理、显示状态和其他有关信息等。
这些操作基本上都可遗忘密码处理、显示状态和其他有关信息等。
这些操作基本上都可以通过工具箱以通过工具箱以通过工具箱以通过工具箱“登录登录登录登录”选项卡中的选项卡中的选项卡中的选项卡中的7777个控件来完成。
个控件来完成。
个控件来完成。
个控件来完成。
2)2)2)2)用户权限管理:
主要包括:
为用户分配角色和为角色分配可访用户权限管理:
主要包括:
为用户分配角色和为角色分配可访用户权限管理:
主要包括:
为用户分配角色和为角色分配可访用户权限管理:
主要包括:
为用户分配角色和为角色分配可访问资源等问资源等问资源等问资源等。
使用基于角色的安全管理技术需要开发人员创建使用基于角色的安全管理技术需要开发人员创建使用基于角色的安全管理技术需要开发人员创建使用基于角色的安全管理技术需要开发人员创建ASP.NETASP.NETASP.NETASP.NET网站时,网站时,网站时,网站时,根据资源的级别不同使用树形目录的方式进行组织。
根据资源的级别不同使用树形目录的方式进行组织。
根据资源的级别不同使用树形目录的方式进行组织。
根据资源的级别不同使用树形目录的方式进行组织。
12.2使用网站管理工具进行安全设置使用网站管理工具进行安全设置12.2.112.2.112.2.112.2.1连接连接连接连接SQLSQLSQLSQLServerServerServerServer数据库数据库数据库数据库在使用在使用在使用在使用ASP.NETASP.NET网站管理工具前,首先需要建立与网站管理工具前,首先需要建立与网站管理工具前,首先需要建立与网站管理工具前,首先需要建立与MicrosoftSQLMicrosoftSQLServerServer数据库的连接,并创建用于存放用户信息、角色信息、安全数据库的连接,并创建用于存放用户信息、角色信息、安全数据库的连接,并创建用于存放用户信息、角色信息、安全数据库的连接,并创建用于存放用户信息、角色信息、安全规则等信息的数据表。
规则等信息的数据表。
规则等信息的数据表。
规则等信息的数据表。
如果使用外部如果使用外部如果使用外部如果使用外部SQLServerSQLServer数据库,则需要运行数据库,则需要运行数据库,则需要运行数据库,则需要运行AASQLServerSQLServer注册工具(注册工具(注册工具(注册工具(aspnet_regsql.exeaspnet_regsql.exe),并通过向导完成相应的操作。
该),并通过向导完成相应的操作。
该),并通过向导完成相应的操作。
该),并通过向导完成相应的操作。
该工具作为一个单独的工具程序,默认存放在工具作为一个单独的工具程序,默认存放在工具作为一个单独的工具程序,默认存放在工具作为一个单独的工具程序,默认存放在C:
WINDOWSMicrosoft.NETFrameworkv2.0.50727C:
WINDOWSMicrosoft.NETFrameworkv2.0.50727中。
中。
中。
中。
执行执行执行执行Windows“Windows“开始开始开始开始”菜单中的菜单中的菜单中的菜单中的“运行运行运行运行”命令,输入命令,输入命令,输入命令,输入“cmdcmd”后单击后单击后单击后单击“确定确定确定确定”按钮,进入命令提示符窗口键入按钮,进入命令提示符窗口键入按钮,进入命令提示符窗口键入按钮,进入命令提示符窗口键入“cdcdframeworkv2.0.50727”frameworkv2.0.50727”后按后按后按后按EnterEnter键,将当前目录切换到键,将当前目录切换到键,将当前目录切换到键,将当前目录切换到AASQLServerSQLServer注册工具所在的位置。
注册工具所在的位置。
注册工具所在的位置。
注册工具所在的位置。
键入键入键入键入“aspnet_regsqlaspnet_regsql”后按后按后按后按EnterEnter键,启动键,启动键,启动键,启动ASP.NETSQLASP.NETSQLServerServer安装向导,安装向导,安装向导,安装向导,。
12.2使用网站管理工具进行安全设置使用网站管理工具进行安全设置12.2.212.2.212.2.212.2.2使用使用使用使用ASP.NETASP.NETASP.NETASP.NET网站管理工具网站管理工具网站管理工具网站管理工具1.1.1.1.规划网站文件夹规划网站文件夹规划网站文件夹规划网站文件夹2.2.2.2.创建和管理用户创建和管理用户创建和管理用户创建和管理用户3.3.3.3.创建和管理角色创建和管理角色创建和管理角色创建和管理角色4.4.4.4.创建和管理网站访问规则创建和管理网站访问规则创建和管理网站访问规则创建和管理网站访问规则12.3使用登录控件使用登录控件12.3.1Login12.3.1Login12.3.1Login12.3.1Login控件控件控件控件12.3使用登录控件使用登录控件12.3.212.3.212.3.212.3.2CreateUserWizardCreateUserWizardCreateUserWizardCreateUserWizard控件控件控件控件创建新用户控件(创建新用户控件(创建新用户控件(创建新用户控件(CreateUserWizardCreateUserWizardCreateUserWizardCreateUserWizard)用于向数据库中添加新)用于向数据库中添加新)用于向数据库中添加新)用于向数据库中添加新用户的相关记录。
使用该控件需要新建一个用户的相关记录。
使用该控件需要新建一个用户的相关记录。
使用该控件需要新建一个用户的相关记录。
使用该控件需要新建一个WebWebWebWeb窗体,并将控件从窗体,并将控件从窗体,并将控件从窗体,并将控件从工具箱中添加到页面中。
需要设置工具箱中添加到页面中。
需要设置工具箱中添加到页面中。
需要设置工具箱中添加到页面中。
需要设置LoginLoginLoginLogin控件的控件的控件的控件的CreateUserTextCreateUserTextCreateUserTextCreateUserText和和和和CreateUserUrlCreateUserUrlCreateUserUrlCreateUserUrl属性值,以显示用于跳转到添加新用户页面的链接属性值,以显示用于跳转到添加新用户页面的链接属性值,以显示用于跳转到添加新用户页面的链接属性值,以显示用于跳转到添加新用户页面的链接文本和目标文本和目标文本和目标文本和目标URLURLURLURL。
12.3使用登录控件使用登录控件12.3.3LoginName12.3.3LoginName12.3.3LoginName12.3.3LoginName和和和和LoginStatusLoginStatusLoginStatusLoginStatus控件控件控件控件1.1.1.1.LoginNameLoginNameLoginNameLoginName控件控件控件控件LoginNameLoginNameLoginNameLoginName控件用于显示登录用户的用户名信息,通过该控件的控件用于显示登录用户的用户名信息,通过该控件的控件用于显示登录用户的用户名信息,通过该控件的控件用于显示登录用户的用户名信息,通过该控件的FormatStringFormatStringFormatStringFormatString属性可以设置输出信息的内容和格式。
属性可以设置输出信息的内容和格式。
属性可以设置输出信息的内容和格式。
属性可以设置输出信息的内容和格式。
FormatStringFormatStringFormatStringFormatString属性的默认值为属性的默认值为属性的默认值为属性的默认值为“0”0”0”0”表示登录用户的用户名,在属性窗口或代表示登录用户的用户名,在属性窗口或代表示登录用户的用户名,在属性窗口或代表示登录用户的用户名,在属性窗口或代码中可使用码中可使用码中可使用码中可使用HTMLHTMLHTMLHTML标记重新设置。
标记重新设置。
标记重新设置。
标记重新设置。
2.2.2.2.LoginStatusLoginStatusLoginStatusLoginStatus控件控件控件控件LoginStatusLoginStatusLoginStatusLoginStatus控件能根据当前用户的验证状态显示为一个登录控件能根据当前用户的验证状态显示为一个登录控件能根据当前用户的验证状态显示为一个登录控件能根据当前用户的验证状态显示为一个登录(LoginLoginLoginLogin)或注销()或注销()或注销()或注销(LogoutLogoutLogoutLogout)链接按钮。
当用户单击)链接按钮。
当用户单击)链接按钮。
当用户单击)链接按钮。
当用户单击“登录登录登录登录”链接链接链接链接后,默认的会跳转到页面后,默认的会跳转到页面后,默认的会跳转到页面后,默认的会跳转到页面Login.aspxLogin.aspxLogin.aspxLogin.aspx中。
而单击中。
而单击中。
而单击中。
而单击“注销注销注销注销”链接,将链接,将链接,将链接,将会从该网站中注销当前用户的登录。
会从该网站中注销当前用户的登录。
会从该网站中注销当前用户的登录。
会从该网站中注销当前用户的登录。
12.3使用登录控件使用登录控件12.3.4LoginView12.3.4LoginView12.3.4LoginView12.3.4LoginView控件控件控件控件ASP.NETASP.NETASP.NETASP.NET网站中通常需要根据用户角色不同返回不同的页面。
网站中通常需要根据用户角色不同返回不同的页面。
网站中通常需要根据用户角色不同返回不同的页面。
网站中通常需要根据用户角色不同返回不同的页面。
在早期版本中实现这一功能需要程序员手工编写相应的代码。
自在早期版本中实现这一功能需要程序员手工编写相应的代码。
自在早期版本中实现这一功能需要程序员手工编写相应的代码。
自在早期版本中实现这一功能需要程序员手工编写相应的代码。
自ASP.NET2.0ASP.NET2.0ASP.NET2.0ASP.NET2.0之后出现的之后出现的之后出现的之后出现的LoginViewLoginViewLoginViewLoginView(登录视图)控件可使程序员几(登录视图)控件可使程序员几(登录视图)控件可使程序员几(登录视图)控件可使程序员几乎不必编写任何代码即可实现上述功能。
乎不必编写任何代码即可实现上述功能。
乎不必编写任何代码即可实现上述功能。
乎不必编写任何代码即可实现上述功能。
12.3使用登录控件使用登录控件12.3.5ChangePassword12.3.5ChangePassword12.3.5ChangePassword12.3.5ChangePassword和和和和PasswordRecoveryPasswordRecoveryPasswordRecoveryPasswordRecovery控件控件控件控件1.1.1.1.ChangePasswordChangePasswordChangePasswordChangePassword控件控件控件控件ChangePasswordChangePasswordChangePasswordChangePassword控件有控件有控件有控件有2222中不同的用法,一种是在用户登录后中不同的用法,一种是在用户登录后中不同的用法,一种是在用户登录后中不同的用法,一种是在用户登录后通过登录时使用的用户名进行密码修改,在这种方式下控件中不显通过登录时使用的用户名进行密码修改,在这种方式下控件中不显通过登录时使用的用户名进行密码修改,在这种方式下控件中不显通过登录时使用的用户名进行密码修改,在这种方式下控件中不显示用户名栏,控件界面如图示用户名栏,控件界面如图示用户名栏,控件界面如图示用户名栏,控件界面如图12-2512-2512-2512-25所示。
再一种是无论登录与否,所示。
再一种是无论登录与否,所示。
再一种是无论登录与否,所示。
再一种是无论登录与否,用户可以在控件中输入用户名、密码、新密码、确认新密码后进行用户可以在控件中输入用户名、密码、新密码、确认新密码后进行用户可以在控件中输入用户名、密码、新密码、确认新密码后进行用户可以在控件中输入用户名、密码、新密码、确认新密码后进行密码修改,控件界面如图密码修改,控件界面如图密码修改,控件界面如图密码修改,控件界面如图12-2612-2612-2612-26所示。
是否显示用户名栏由控件的所示。
是否显示用户名栏由控件的所示。
是否显示用户名栏由控件的所示。
是否显示用户名栏由控件的DisplayUserNameDisplayUserNameDisplayUserNameDisplayUserName属性决定,默认值为属性决定,默认值为属性决定,默认值为属性决定,默认值为falsefalsefalsefalse即不显示用户名栏。
即不显示用户名栏。
即不显示用户名栏。
即不显示用户名栏。
12.3使用登录控件使用登录控件12.3.5ChangePassword12.3.5ChangePassword12.3.5ChangePassword12.3.5ChangePassword和和和和PasswordRecoveryPasswordRecoveryPasswordRecoveryPasswordRecovery控件控件控件控件2.2.2.2.PasswordRecoveryPasswordRecoveryPasswordRecoveryPasswordRecovery控件控件控件控件PasswordRecoveryPasswordRecoveryPasswordRecoveryPasswordRecovery控件可根据用户注册时提供的控件可根据用户注册时提供的控件可根据用户注册时提供的控件可根据用户注册时提供的“安全问题安全问题安全问题安全问题”、“安全问题答案安全问题答案安全问题答案安全问题答案”来确定遗忘密码的用户的合法身份,正确回答了安来确定遗忘密码的用户的合法身份,正确回答了安来确定遗忘密码的用户的合法身份,正确回答了安来确定遗忘密码的用户的合法身份,正确回答了安全问题后能自动修改用户密码为一个随机字符串,并使用指定的全问题后能自动修改用户密码为一个随机字符串,并使用指定的全问题后能自动修改用户密码为一个随机字符串,并使用指定的全问题后能自动修改用户密码为一个随机字符串,并使用指定的SMTPSMTPSMTPSMTP服务器向用户电子邮箱发送新密码。
服务器向用户电子邮箱发送新密码。
服务器向用户电子邮箱发送新密码。
服务器向用户电子邮箱发送新密码。
从从从从PasswordRecoveryPasswordRecoveryPasswordRecoveryPasswordRecovery控件的工作机制可以看出,要找回恢复遗忘了控件的工作机制可以看出,要找回恢复遗忘了控件的工作机制可以看出,要找回恢复遗忘了控件的工作机制可以看出,要找回恢复遗忘了密码的帐户,前提条件有以下密码的帐户,前提条件有以下密码的帐户,前提条件有以下密码的帐户,前提条件有以下2222个:
个:
个:
个:
1)1)1)1)用户注册时填写的电子邮箱必须是有效的。
用户注册时填写的电子邮箱必须是有效的。
用户注册时填写的电子邮箱必须是有效的。
用户注册时填写的电子邮箱必须是有效的。
2)ASP.NET2)ASP.NET2)ASP.NET2)ASP.NET网站必须有权使用某个网站必须有权使用某个网站必须有权使用某个网站必须有权使用某个SMTPSMTPSMTPSMTP服务器,将由程序自动生成服务器,将由程序自动生成服务器,将由程序自动生成服务器,将由程序自动生成的电子邮件正确地发送到用户邮箱。
的电子邮件正确地发送到用户邮箱。
的电子邮件正确地发送到用户邮箱。
的电子邮件正确地发送到用户邮箱。
12.4使用使用MembershipAPI12.4.112.4.112.4.112.4.1用户管理用户管理用户管理用户管理1.1.1.1.创建用户创建用户创建用户创建用户使用使用使用使用Membership.CreatUser()Membership.CreatUser()Membership.CreatUser()Membership.CreatUser()方法可以非常方便地完成新用户创建方法可以非常方便地完成新用户创建方法可以非常方便地完成新用户创建方法可以非常方便地完成新用户创建工作。
该方法的语法格式如下所示:
工作。
该方法的语法格式如下所示:
工作。
该方法的语法格式如下所示:
工作。
该方法的语法格式如下所示:
Membership.CreateUser(Username,Password,Email,Question,Membership.CreateUser(Username,Password,Email,Question,Membership.CreateUser(Username,Password,Email,Question,Membership.CreateUser(Username,Password,Email,Question,Answer,IsApproved,Status)Answer,IsApproved,Status)Answer,IsApproved,Status)Answer,IsApproved,Status)语句执行后返回一个用于新创建用户的语句执行后返回一个用于新创建用户的语句执行后返回一个用于新创建用户的语句执行后返回一个用于新创建用户的MembershipUserMembershipUserMembershipUserMembershipUser对象,如果对象,如果对象,如果对象,如果创建用户不成功则返回一个创建用户不成功则返回一个创建用户不成功则返回一个创建用户不成功则返回一个nullnullnullnull。
12.4使用使用MembershipAPI12.4.112.4.112.4.112.4.1用户管理用户管理用户管理用户管理2.2.2.2.查找和删除用户查找和删除用户查找和删除用户查找和删除用户一般情况下,在删除用户前首先需要使用一般情况下,在删除用户前首先需要使用一般情况下,在删除用户前首先需要使用一般情况下,在删除用户前首先需要使用MembershipMembershipMembershipMembership类提供的类提供的类提供的类提供的GetUserGetUserGetUserGetUser()()()()、FindUserByName()FindUserByName()FindUserByName()FindUserByName()或或或或FindUserByEmail()FindUserByEmail()FindUserByEmail()FindUserByEmail()方法,从数据库中找方法,从数据库中找方法,从数据库中找方法,从数据库中找到希望删除的用户,而后再调用到希望删除的用户,而后再调用到希望删除的用户,而后再调用到希望删除的用户,而后再调用DeleteUser()DeleteUser()DeleteUser()DeleteUser()方法进行删除。
方法进行删除。
方法进行删除。
方法进行删除。
3.3.3.3.修改用户数据修改用户数据修改用户数据修改用户数据使用使用使用使用MembershipUserMembershipUserMembershipUserMembershipUser类提供的方法可以对指定用户进行密码、电子类提供的方法可以对指定用户进行密码、电子类提供的方法可以对指定用户进行密码、电子类提供的方法可以对指定用户进行密码、电子邮件、安全问题及安全问题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 教程 安全管理