Valid XHTML 1.0 TransitionalTFW's Web LPM / Login & Permission Manager / Access Control: User Function Tree

Page: [tfw/lpm/01_basic/00_common/user_function_tree.jsp] (v2015-09-02_11-05)

Page: [tfw/lpm/01_basic/00_common/frg_login_bar.jsp] (v2015-09-02_11-00)
User
ID: Name: Password: Idle Seconds:
Groups
Action
[ List >> ] [ Tree >> ]
Page: [tfw/lpm/01_basic/01_access_ctl/frg_user_function_tree.jsp] (v2014-06-18_21-00)
Functions
/
/
Root: Contains=[3]

Root Node.
00 LPM 管理
/00 LPM 管理
Category: ID=[0] Parent_ID=[null] Status=[true] Contains=[3]

增删改查 LPM 数据,及进行访问控制。
00 基本功能
/00 LPM 管理/00 基本功能
Category: ID=[1] Parent_ID=[0] Status=[true] Contains=[8]

以基本的“提交-刷新”方式增删改查 LPM 数据,及进行访问控制。
00 访问控制逻辑
/00 LPM 管理/00 基本功能/00 访问控制逻辑
Function: ID=[0] Category_ID=[1] Status=[true] Control_Level=[0]

访问控制的核心逻辑简记。
不是“功能”,不受管理,仅仅作为一项数据而记录。
01 访问控制
/00 LPM 管理/00 基本功能/01 访问控制
Function: ID=[1] Category_ID=[1] Status=[true] Control_Level=[0]

登录、注销、用户功能列表,以及访问权限检查。
此功能不受管理,仅因“存在”而被记作一项数据。
02 用户管理
/00 LPM 管理/00 基本功能/02 用户管理
Function: ID=[2] Category_ID=[1] Status=[true] Control_Level=[1]

用户管理。
03 组管理
/00 LPM 管理/00 基本功能/03 组管理
Function: ID=[3] Category_ID=[1] Status=[true] Control_Level=[1]

组管理。
04 用户-组-关系管理
/00 LPM 管理/00 基本功能/04 用户-组-关系管理
Function: ID=[4] Category_ID=[1] Status=[true] Control_Level=[1]

用户-组-关系管理。
用户和组的关系为“多-多”对应。
05 类别管理
/00 LPM 管理/00 基本功能/05 类别管理
Function: ID=[5] Category_ID=[1] Status=[true] Control_Level=[1]

类别管理。
06 功能管理
/00 LPM 管理/00 基本功能/06 功能管理
Function: ID=[6] Category_ID=[1] Status=[true] Control_Level=[1]

功能管理。
07 组-功能-关系管理
/00 LPM 管理/00 基本功能/07 组-功能-关系管理
Function: ID=[7] Category_ID=[1] Status=[true] Control_Level=[1]

组-功能-关系管理。
组和功能的关系为“多-多”对应。
01 高级 (便利) 功能
/00 LPM 管理/01 高级 (便利) 功能
Category: ID=[2] Parent_ID=[0] Status=[true] Contains=[0]

以 ajax 或 webservice 等方式增删改查 LPM 数据,及进行访问控制,
以期降低视图服务和视图模板的开发难度,并令操作便捷。
1000 分界线
/00 LPM 管理/1000 分界线
Category: ID=[1000] Parent_ID=[0] Status=[false] Contains=[1]

1000 我是分界线。
1000 核心功能测试记录
/00 LPM 管理/1000 分界线/1000 核心功能测试记录
Function: ID=[1000] Category_ID=[1000] Status=[false] Control_Level=[1]

================================================================================
v0.6.0 核心功能测试记录:
================================================================================
/home/typhoon/123/work/Eclipse.Projects/jweb.tfw.tfw_web_lpm2

================================================================================
Templates.
--------------------------------------------------------------------------------
	+	User: id=AAAA, name=user_AAAA, stat=TTFF, passwd=password_AAAA, remark=remark_AAAA
		tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=AAAA&name_NN=user_AAAA&stat_NN=TTFF&passwd_NN=password_AAAA&remark_NN=remark_AAAA

		+	UGM: id=BBBB, user_id=AAAA, group_id=CCCC, stat=TTFF, remark=remark_BBBB
			tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=BBBB&user_id_NN=AAAA&group_id_NN=CCCC&stat_NN=TTFF&remark_NN=remark_BBBB

			+	Group: id=CCCC, name=group_CCCC, stat=TTFF, remark=remark_CCCC
				tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=CCCC&name_NN=group_CCCC&stat_NN=TTFF&remark_NN=remark_CCCC

				+	GFM: id=DDDD, group_id=CCCC, function_id=EEEE, stat=TTFF, remark=remark_DDDD
					tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=DDDD&group_id_NN=CCCC&function_id_NN=EEEE&stat_NN=TTFF&remark_NN=remark_DDDD
================================================================================

================================================================================
Login / Re-login Test Path:
--------------------------------------------------------------------------------
User:
	User existed;
	User name not duplicated (while login by user name);
	User enabled;
	User password matches.
	(“有效”的用户)

	[1001]	User not existed => X
		TC_1001001 :
			01	准备:
					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					不输入用户 ID 、用户名,分别输入、不输入密码,尝试登录。
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“用户未找到”类含义字样。

			04	实际:
					[X] User not found in user records!

			05	结论:
					符合预期。

		TC_1001002 :
			01	准备:
					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					用不存在 (因此无法查到) 的用户登录 (瞎登录) 。
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=-9999
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_-9998

						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=-9997
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_-9996

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“用户未找到”类含义字样。

			04	实际:
					[X] User not found in user records!

			05	结论:
					符合预期。

	[1002]	User name duplicated (while login by user name) => X
		TC_1002001 :
			01	准备:
					+	User: id=1001, name=same_01, stat=null, passwd=password_1001, remark=TC_1002001
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1001&name_NN=same_01&passwd_NN=password_1001&remark_NN=TC_1002001
						(根据设计,用户重名验证早于状态验证,无论 stat 为 null 、false 还是 true 都将被忽略)

					+	User: id=1002, name=same_01, stat=null, passwd=password_1002, remark=TC_1002001
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1002&name_NN=same_01&passwd_NN=password_1002&remark_NN=TC_1002001
						(根据设计,用户重名验证早于状态验证,无论 stat 为 null 、false 还是 true 都将被忽略)

					+	User: id=1003, name=same_01, stat=false, passwd=password_1003, remark=TC_1002001
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1003&name_NN=same_01&stat_NN=false&passwd_NN=password_1003&remark_NN=TC_1002001
						(根据设计,用户重名验证早于状态验证,无论 stat 为 null 、false 还是 true 都将被忽略)

					+	User: id=1004, name=same_02, stat=false, passwd=password_1004, remark=TC_1002001
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1004&name_NN=same_02&stat_NN=false&passwd_NN=password_1004&remark_NN=TC_1002001
						(根据设计,用户重名验证早于状态验证,无论 stat 为 null 、false 还是 true 都将被忽略)

					+	User: id=1005, name=same_02, stat=true, passwd=password_1005, remark=TC_1002001
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1005&name_NN=same_02&stat_NN=true&passwd_NN=password_1005&remark_NN=TC_1002001
						(根据设计,用户重名验证早于状态验证,无论 stat 为 null 、false 还是 true 都将被忽略)

					+	User: id=1006, name=same_02, stat=true, passwd=password_1006, remark=TC_1002001
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1006&name_NN=same_02&stat_NN=true&passwd_NN=password_1006&remark_NN=TC_1002001
						(根据设计,用户重名验证早于状态验证,无论 stat 为 null 、false 还是 true 都将被忽略)

					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					用用户名“same_01”、“same_02”、任意密码登录。
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=same_01
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=same_01&user_passwd=AAA
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=same_02&user_passwd=password_1005

						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=same_01&user_passwd=password_1002
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=same_02&user_passwd=AAA
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=same_02

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“用户名重复”类含义字样。

			04	结果:
					[X] User name duplicated, user ID is required!

			05	结论:
					符合预期。

	[1003]	User not enabled => X
		TC_1003001 :用户状态为 null 。
			01	准备:
					+	User: id=1007, name=user_1007, stat=null, passwd=password_1007, remark=TC_1003001
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1007&name_NN=user_1007&passwd_NN=password_1007&remark_NN=TC_1003001

					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1007 、任意密码登录。
						(根据设计,用户状态验证早于密码验证,密码无论正确与否,将被忽略)
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1007
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1007&user_passwd=AAA
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1007&user_passwd=password_1007

							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1007&user_passwd=password_1007
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1007&user_passwd=AAA
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1007

					2.	用用户名“user_1007”、任意密码登录。
						(根据设计,用户状态验证早于密码验证,密码无论正确与否,将被忽略)
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1007&user_passwd=password_1007
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1007&user_passwd=AAA
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1007

							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1007
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1007&user_passwd=AAA
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1007&user_passwd=password_1007

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“用户未启用”类含义字样。

			04	结果:
					[X] User not enabled!

			05	结论:
					符合预期。

		TC_1003002 :用户状态为禁用。
			01	准备:
					+	User: id=1008, name=user_1008, stat=false, passwd=password_1008, remark=TC_1003002
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1008&name_NN=user_1008&stat_NN=false&passwd_NN=password_1008&remark_NN=TC_1003002

					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1008 、任意密码登录。
						(根据设计,用户状态验证早于密码验证,密码无论正确与否,将被忽略)
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1008
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1008&user_passwd=AAA
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1008&user_passwd=password_1008

							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1008&user_passwd=password_1008
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1008&user_passwd=AAA
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1008

					2.	用用户名“user_1008”、任意密码登录。
						(根据设计,用户状态验证早于密码验证,密码无论正确与否,将被忽略)
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1008&user_passwd=password_1008
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1008&user_passwd=AAA
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1008

							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1008
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1008&user_passwd=AAA
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1008&user_passwd=password_1008

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“用户未启用”类含义字样。

			04	实际:
					[X] User not enabled!

			05	结论:
					符合预期。

	[1004]	User password not match => X
		TC_1004001 :用户没有密码:
			01	准备:
					+	User: id=1009, name=user_1009, stat=true, passwd=null, remark=TC_1004001
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1009&name_NN=user_1009&stat_NN=true&remark_NN=TC_1004001

					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1009 登录,使用 null 以外的任意密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1009&user_passwd=AAA
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1009&user_passwd=password_1009

							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1009&user_passwd=password_1009
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1009&user_passwd=AAA

					2.	用用户名“user_1009”登录,使用 null 以外的任意密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1009&user_passwd=password_1009
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1009&user_passwd=AAA

							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1009&user_passwd=AAA
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1009&user_passwd=password_1009

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“密码错误”类含义字样。

			04	实际:
					[X] User password not match!

			05	结论:
					符合预期。

		TC_1004002 :用户有密码:
			01	准备:
					+	User: id=1010, name=user_1010, stat=true, passwd=password_1010, remark=TC_1004002
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1010&name_NN=user_1010&stat_NN=true&passwd_NN=password_1010&remark_NN=TC_1004002

					将当前界面置于非登录 (已注销) 状态。
			02	操作:
					1.	用用户 ID 1010 登录,使用正确密码外的任意的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1010&user_passwd=AAA
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1010

							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1010
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1010&user_passwd=AAA

					2.	用用户名“user_1010”登录,使用正确密码外的任意的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1010
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1010&user_passwd=AAA

							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1010&user_passwd=AAA
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1010

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“密码错误”类含义字样。

			04	实际:
					[X] User password not match!

			05	结论:
					符合预期。
--------------------------------------------------------------------------------
UGM(s):
	UGM(s) of user existed;
	UGM(s) of user related to group(s);
	UGM(s) of user enabled.
	(“有效”的 UGM)

	[1011]	UGM(s) of user not existed => X
		TC_1011001 :用户没有密码:
			01	准备:
					*	User: id=1009, remark="...[换行]TC_1011001"
					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1009 登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1009
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1009

					2.	用用户名“user_1009”登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1009
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1009

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“与用户相关的 UGM 未找到”类含义字样。

			04	实际:
					 User-group-mapping(s) of user not found in user-group-mapping records!

			05	结论:
					符合预期。

		TC_1011002 :用户有密码:
			01	准备:
					*	User: id=1010, remark="...[换行]TC_1011002"
					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1010 登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1010&user_passwd=password_1010
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1010&user_passwd=password_1010

					2.	用用户名“user_1010”登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1010&user_passwd=password_1010
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1010&user_passwd=password_1010

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“与用户相关的 UGM 未找到”类含义字样。

			04	实际:
					[X] User-group-mapping(s) of user not found in user-group-mapping records!

			05	结论:
					符合预期。

	[1012]	UGM(s) of user not related to group(s) => X
		TC_1012001 :单项数据测试:
			01	准备:
					+	User: id=1011, name=user_1011, stat=true, passwd=password_1011, remark=TC_1012001
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1011&name_NN=user_1011&stat_NN=true&passwd_NN=password_1011&remark_NN=TC_1012001

						+	UGM: id=1001, user_id=1011, group_id=null, stat=false, remark=TC_1012001
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1001&user_id_NN=1011&stat_NN=false&remark_NN=TC_1012001
							(根据设计,组 ID 验证早于状态验证,无论 stat 为 null 、false 还是 true 都将被忽略)

					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1011 登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1011&user_passwd=password_1011
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1011&user_passwd=password_1011

					2.	用用户名“user_1011”登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1011&user_passwd=password_1011
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1011&user_passwd=password_1011

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“与用户相关的 UGM 未关联到组”类含义字样。

			04	实际:
					[X] User-group-mapping(s) of user not related to group(s)!

			05	结论:
					符合预期。

		TC_1012002 :多项数据测试:
			01	准备:
					+	User: id=1012, name=user_1012, stat=true, passwd=password_1012, remark=TC_1012002
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1012&name_NN=user_1012&stat_NN=true&passwd_NN=password_1012&remark_NN=TC_1012002

						+	UGM: id=1002, user_id=1012, group_id=null, stat=null, remark=TC_1012002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1002&user_id_NN=1012&remark_NN=TC_1012002

						+	UGM: id=1003, user_id=1012, group_id=null, stat=false, remark=TC_1012002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1003&user_id_NN=1012&stat_NN=false&remark_NN=TC_1012002

						+	UGM: id=1004, user_id=1012, group_id=null, stat=true, remark=TC_1012002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1004&user_id_NN=1012&stat_NN=true&remark_NN=TC_1012002
							(根据设计,组 ID 验证早于状态验证,无论 stat 为 null 、false 还是 true 都将被忽略)

					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1012 登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1012&user_passwd=password_1012
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1012&user_passwd=password_1012

					2.	用用户名“user_1012”登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1012&user_passwd=password_1012
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1012&user_passwd=password_1012

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“与用户相关的 UGM 未关联到组”类含义字样。

			04	实际:
					[X] User-group-mapping(s) of user not related to group(s)!

			05	结论:
					符合预期。

	[1013]	UGM(s) of user not enabled => X
		TC_1013001 :单项数据测试:
			01	准备:
					+	User: id=1013, name=user_1013, stat=true, passwd=password_1013, remark=TC_1013001
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1013&name_NN=user_1013&stat_NN=true&passwd_NN=password_1013&remark_NN=TC_1013001

						+	UGM: id=1005, user_id=1013, group_id=-9999, stat=false, remark=TC_1013001
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1005&user_id_NN=1013&group_id_NN=-9999&stat_NN=false&remark_NN=TC_1013001

					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1013 ,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1013&user_passwd=password_1013
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1013&user_passwd=password_1013

					2.	用用户名“user_1013”登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1013&user_passwd=password_1013
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1013&user_passwd=password_1013

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“已启用、且与用户相关的 UGM 未关联到组”类含义字样。

			04	实际:
					[X] Enabled user-group-mapping(s) of user not related to group(s)!

			05	结论:
					符合预期。

		TC_1013002 :多项数据测试:
			01	准备:
					+	User: id=1014, name=user_1014, stat=true, passwd=password_1014, remark=TC_1013002
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1014&name_NN=user_1014&stat_NN=true&passwd_NN=password_1014&remark_NN=TC_1013002

						+	UGM: id=1006, user_id=1014, group_id=null, stat=null, remark=TC_1013002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1006&user_id_NN=1014&remark_NN=TC_1013002

						+	UGM: id=1007, user_id=1014, group_id=null, stat=false, remark=TC_1013002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1007&user_id_NN=1014&stat_NN=false&remark_NN=TC_1013002

						+	UGM: id=1008, user_id=1014, group_id=null, stat=true, remark=TC_1013002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1008&user_id_NN=1014&stat_NN=true&remark_NN=TC_1013002

						+	UGM: id=1009, user_id=1014, group_id=-9999, stat=null, remark=TC_1013002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1009&user_id_NN=1014&group_id_NN=-9999&remark_NN=TC_1013002

						+	UGM: id=1010, user_id=1014, group_id=-9998, stat=false, remark=TC_1013002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1010&user_id_NN=1014&group_id_NN=-9998&stat_NN=false&remark_NN=TC_1013002

					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1014 ,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1014&user_passwd=password_1014
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1014&user_passwd=password_1014

					2.	用用户名“user_1014”登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1014&user_passwd=password_1014
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1014&user_passwd=password_1014

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“已启用、且与用户相关的 UGM 未关联到组”类含义字样。

			04	实际:
					[X] Enabled user-group-mapping(s) of user not related to group(s)!

			05	结论:
					符合预期。
--------------------------------------------------------------------------------
Group(s):
	Group(s) of user existed;
	Group(s) of user enabled.
	(“有效”的组)

	[1021]	Group(s) of user not existed => X
		TC_1021001 :单项数据测试:
			01	准备:
					+	User: id=1015, name=user_1015, stat=true, passwd=password_1015, remark=TC_1021001
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1015&name_NN=user_1015&stat_NN=true&passwd_NN=password_1015&remark_NN=TC_1021001

						+	UGM: id=1011, user_id=1015, group_id=-9999, stat=true, remark=TC_1021001
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1011&user_id_NN=1015&group_id_NN=-9999&stat_NN=true&remark_NN=TC_1021001

					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1015 ,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1015&user_passwd=password_1015
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1015&user_passwd=password_1015

					2.	用用户名“user_1015”登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1015&user_passwd=password_1015
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1015&user_passwd=password_1015

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“与用户相关的组未找到”类含义字样。

			04	实际:
					[X] Group(s) of user not found in group records!

			05	结论:
					符合预期。

		TC_1021002 :多项数据测试:
			01	准备:
					+	User: id=1016, name=user_1016, stat=TTFF, passwd=password_1016, remark=TC_1021002
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1016&name_NN=user_1016&stat_NN=true&passwd_NN=password_1016&remark_NN=TC_1021002

						+	UGM: id=1012, user_id=1016, group_id=null, stat=null, remark=TC_1021002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1012&user_id_NN=1016&remark_NN=TC_1021002

						+	UGM: id=1013, user_id=1016, group_id=null, stat=false, remark=TC_1021002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1013&user_id_NN=1016&stat_NN=false&remark_NN=TC_1021002

						+	UGM: id=1014, user_id=1016, group_id=null, stat=true, remark=TC_1021002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1014&user_id_NN=1016&stat_NN=true&remark_NN=TC_1021002

						+	UGM: id=1015, user_id=1016, group_id=-9999, stat=null, remark=TC_1021002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1015&user_id_NN=1016&group_id_NN=-9999&remark_NN=TC_1021002

						+	UGM: id=1016, user_id=1016, group_id=-9998, stat=false, remark=TC_1021002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1016&user_id_NN=1016&group_id_NN=-9998&stat_NN=false&remark_NN=TC_1021002
							----------------------------------------

						+	UGM: id=1017, user_id=1016, group_id=-9997, stat=true, remark=TC_1021002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1017&user_id_NN=1016&group_id_NN=-9997&stat_NN=true&remark_NN=TC_1021002

						+	UGM: id=1018, user_id=1016, group_id=-9996, stat=true, remark=TC_1021002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1018&user_id_NN=1016&group_id_NN=-9996&stat_NN=true&remark_NN=TC_1021002

					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1016 ,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1016&user_passwd=password_1016
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1016&user_passwd=password_1016

					2.	用用户名“user_1016”登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1016&user_passwd=password_1016
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1016&user_passwd=password_1016

			04	实际:
					[X] Group(s) of user not found in group records!

			05	结论:
					符合预期。

	[1022]	Group(s) of user not enabled => X
		TC_1022001 :单项数据测试:
			01	准备:
					+	User: id=1017, name=user_1017, stat=true, passwd=password_1017, remark=TC_1022001
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1017&name_NN=user_1017&stat_NN=true&passwd_NN=password_1017&remark_NN=TC_1022001

						+	UGM: id=1019, user_id=1017, group_id=1001, stat=true, remark=TC_1022001
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1019&user_id_NN=1017&group_id_NN=1001&stat_NN=true&remark_NN=TC_1022001

							+	Group: id=1001, name=group_1001, stat=false, remark=TC_1022001
								tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1001&name_NN=group_1001&stat_NN=false&remark_NN=TC_1022001

					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1017 ,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1017&user_passwd=password_1017
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1017&user_passwd=password_1017

					2.	用用户名“user_1017”登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1017&user_passwd=password_1017
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1017&user_passwd=password_1017

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“与用户相关的组未启用”类含义字样。

			04	实际:
					[X] Group(s) of user not enabled!

			05	结论:
					符合预期。

		TC_1022002 :多项数据测试:
			01	准备:
					+	User: id=1018, name=user_1018, stat=true, passwd=password_1018, remark=TC_1022002
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1018&name_NN=user_1018&stat_NN=true&passwd_NN=password_1018&remark_NN=TC_1022002

						+	UGM: id=1020, user_id=1018, group_id=null, stat=null, remark=TC_1022002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1020&user_id_NN=1018&remark_NN=TC_1022002

						+	UGM: id=1021, user_id=1018, group_id=null, stat=false, remark=TC_1022002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1021&user_id_NN=1018&stat_NN=false&remark_NN=TC_1022002

						+	UGM: id=1022, user_id=1018, group_id=null, stat=true, remark=TC_1022002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1022&user_id_NN=1018&stat_NN=true&remark_NN=TC_1022002

						+	UGM: id=1023, user_id=1018, group_id=-9999, stat=null, remark=TC_1022002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1023&user_id_NN=1018&group_id_NN=-9999&remark_NN=TC_1022002

						+	UGM: id=1024, user_id=1018, group_id=-9998, stat=false, remark=TC_1022002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1024&user_id_NN=1018&group_id_NN=-9998&stat_NN=false&remark_NN=TC_1022002

						+	UGM: id=1025, user_id=1018, group_id=-9997, stat=true, remark=TC_1022002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1025&user_id_NN=1018&group_id_NN=-9997&stat_NN=true&remark_NN=TC_1022002

						+	UGM: id=1026, user_id=1018, group_id=-9996, stat=true, remark=TC_1022002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1026&user_id_NN=1018&group_id_NN=-9996&stat_NN=true&remark_NN=TC_1022002
							----------------------------------------

						+	UGM: id=1027, user_id=1018, group_id=1001, stat=true, remark=TC_1022002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1027&user_id_NN=1018&group_id_NN=1001&stat_NN=true&remark_NN=TC_1022002

							*	Group: id=1001, remark="...[换行]TC_1022002"

						+	UGM: id=1028, user_id=1018, group_id=1002, stat=true, remark=TC_1022002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1028&user_id_NN=1018&group_id_NN=1002&stat_NN=true&remark_NN=TC_1022002

							+	Group: id=1002, name=group_1002, stat=null, remark=TC_1022002
								tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1002&name_NN=group_1002&remark_NN=TC_1022002

					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1018 ,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1018&user_passwd=password_1018
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1018&user_passwd=password_1018

					2.	用用户名“user_1018”登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1018&user_passwd=password_1018
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1018&user_passwd=password_1018

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“与用户相关的组未启用”类含义字样。

			04	实际:
					[X] Group(s) of user not enabled!

			05	结论:
					符合预期。
--------------------------------------------------------------------------------
Success:
	[1031]	Group(s) of user enabled => OK
		TC_1031001 :单项数据测试:
			01	准备:
					+	User: id=1019, name=user_1019, stat=true, passwd=password_1019, remark=TC_1031001
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1019&name_NN=user_1019&stat_NN=true&passwd_NN=password_1019&remark_NN=TC_1031001

						+	UGM: id=1029, user_id=1019, group_id=1003, stat=true, remark=TC_1031001
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1029&user_id_NN=1019&group_id_NN=1003&stat_NN=true&remark_NN=TC_1031001

							+	Group: id=1003, name=group_1003, stat=true, remark=TC_1031001
								tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1003&name_NN=group_1003&stat_NN=true&remark_NN=TC_1031001

					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1019 ,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1019&user_passwd=password_1019
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1019&user_passwd=password_1019&idle_seconds=72000

					2.	用用户名“user_1019”登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1019&user_passwd=password_1019
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1019&user_passwd=password_1019&idle_seconds=72000

			03	预期:
					登录成功,显示用户信息。

			04	实际:
					0: OK.

			05	结论:
					符合预期。

		TC_1031002 :多项数据测试:
			01	准备:
					+	User: id=1020, name=user_1020, stat=true, passwd=null, remark=TC_1031002
						tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1020&name_NN=user_1020&stat_NN=true&remark_NN=TC_1031002

						+	UGM: id=1030, user_id=1020, group_id=null, stat=null, remark=TC_1031002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1030&user_id_NN=1020&remark_NN=TC_1031002

						+	UGM: id=1031, user_id=1020, group_id=null, stat=false, remark=TC_1031002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1031&user_id_NN=1020&stat_NN=false&remark_NN=TC_1031002

						+	UGM: id=1032, user_id=1020, group_id=null, stat=true, remark=TC_1031002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1032&user_id_NN=1020&stat_NN=true&remark_NN=TC_1031002

						+	UGM: id=1033, user_id=1020, group_id=-9999, stat=null, remark=TC_1031002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1033&user_id_NN=1020&group_id_NN=-9999&remark_NN=TC_1031002

						+	UGM: id=1034, user_id=1020, group_id=-9998, stat=false, remark=TC_1031002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1034&user_id_NN=1020&group_id_NN=-9998&stat_NN=false&remark_NN=TC_1031002

						+	UGM: id=1035, user_id=1020, group_id=-9997, stat=true, remark=TC_1031002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1035&user_id_NN=1020&group_id_NN=-9997&stat_NN=true&remark_NN=TC_1031002

						+	UGM: id=1036, user_id=1020, group_id=-9996, stat=true, remark=TC_1031002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1036&user_id_NN=1020&group_id_NN=-9996&stat_NN=true&remark_NN=TC_1031002

						+	UGM: id=1037, user_id=1020, group_id=1001, stat=true, remark=TC_1031002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1037&user_id_NN=1020&group_id_NN=1001&stat_NN=true&remark_NN=TC_1031002

							*	Group: id=1001, remark="...[换行]TC_1031002"

						+	UGM: id=1038, user_id=1020, group_id=1002, stat=true, remark=TC_1031002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1038&user_id_NN=1020&group_id_NN=1002&stat_NN=true&remark_NN=TC_1031002

							*	Group: id=1002, remark="...[换行]TC_1031002"
							----------------------------------------

						+	UGM: id=1039, user_id=1020, group_id=1003, stat=true, remark=TC_1031002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1039&user_id_NN=1020&group_id_NN=1003&stat_NN=true&remark_NN=TC_1031002

							*	Group: id=1003, remark="...[换行]TC_1031002"

						+	UGM: id=1040, user_id=1020, group_id=1004, stat=true, remark=TC_1031002
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1040&user_id_NN=1020&group_id_NN=1004&stat_NN=true&remark_NN=TC_1031002

							+	Group: id=1004, name=group_1004, stat=true, remark=TC_1031002
								tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1004&name_NN=group_1004&stat_NN=true&remark_NN=TC_1031002

					将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	用用户 ID 1020 ,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_id=1020
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1020&idle_seconds=72000

					2.	用用户名“user_1020”登录,使用正确的密码。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login&user_name=user_1020
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1020&idle_seconds=72000

			03	预期:
					登录成功,显示用户信息。

			04	实际:
					0: OK.

			05	结论:
					符合预期。

	[1032]	Special.
		TC_1032001 :重登录“踢出”测试。
			01	准备:
					一个可登录的用户;
					登录;
					破坏此用户的登录条件,或者在登录时使用错误的密码。

			02	操作:
					同一用户进行一次失败的重登录。

			03	预期:
					此用户被“踢出”。

			04	实际:
					此用户被“踢出”。

			05	结论:
					符合预期。

			06	善后:
					恢复数据。

		TC_1032002 :重登录“踢出”测试。
			01	准备:
					一个可登录的用户;
					登录;
					另一个不可登录的用户,或者在登录时使用错误的密码。

			02	操作:
					另一用户进行一次失败的重登录。

			03	预期:
					此用户不被“踢出”。

			04	实际:
					此用户不被“踢出”。

			05	结论:
					符合预期。
================================================================================

================================================================================
Access Control Test Path:
--------------------------------------------------------------------------------
Function:
	Function existed;
	Function managered (Unmanagered directly leads to success);
	Function enabled.
	(“有效”的功能:存在、受管理、启用)

	[2001]	Function not existed => X
		TC_2001001 :“外部”验证 null 功能。
			01	准备:-

			02	操作:
					“外部”模式验证,不输入功能 ID ,用户 ID 和用户名不管存在与否,胡乱组合输入或者不输入:
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1019
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_name=user_1020
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_name=same_2
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=0&user_name=AAA
					等。

			03	预期:
					结果报告中含有“功能未找到”类含义字样。

			04	实际:
					[X] Function not found in function records!

			05	结论:
					符合预期。

		TC_2001002 :“外部”验证功能“表”中未记录的功能。
			01	准备:-

			02	操作:
					“外部”模式验证,不输入功能 ID ,用户 ID 和用户名不管存在与否,胡乱组合输入或者不输入:
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&function_id=-9999
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1019&function_id=-9998
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_name=user_1020&function_id=-9997
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_name=same_2&function_id=-9996
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_name=AAA&user_id=0&function_id=-9995
					等。

			03	预期:
					结果报告中含有“功能未找到”类含义字样。

			04	实际:
					[X] Function not found in function records!

			05	结论:
					符合预期。

	[2002]	Function not managered => OK
		TC_2002001 :非登录状态下访问“未管理”、状态为 null 的功能:
			01	准备:
					1.	功能 113 的控制级别置为“未管理”,状态置为 null 。
							tfw/lpm/01_basic/06_function_mgr/action.jsp?for=do_edit&id=113&control_lv=0&control_lv_effect_flag=true&stat_effect_flag=true
							(“未管理”的功能不受状态影响,在此设为 null 以验证)

					2.	将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	非登录或已注销的访问者访问功能 113 ,执行增删改查操作,数据添加操作可由 URL 处进行:
							tfw/lpm/03_extended/01_user_data_mgr/113_priv_strict_mgr/action.jsp?for=do_add&seq=NN&remark_NN=TC_2002001

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&function_id=113

			03	预期:
					操作成功。
					只能增删改用户 ID 为 null 的数据项。
					一旦把用户 ID 改为其他用户,则此项数据不能再被修改和删除。

			04	实际:
					操作成功。
					只能增删改用户 ID 为 null 的数据项。
					一旦把用户 ID 改为其他用户,则此项数据不能再被修改和删除。

			05	结论:
					符合预期。

		TC_2002002 :登录用户访问“未管理”、状态为禁用的功能:
			01	准备:
					1.	功能 113 的控制级别置为“未管理”,状态置为禁用。
							tfw/lpm/01_basic/06_function_mgr/action.jsp?for=do_edit&id=113&control_lv=0&control_lv_effect_flag=true&stat=false&stat_effect_flag=true
							(“未管理”的功能不受状态影响,在此设为 false 以验证)

					2.	用户 ID 1019 登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1019&user_passwd=password_1019&idle_seconds=72000

			02	操作:
					1.	登录用户执行增删改查操作;录入含有 null 项的数据,可由 URL 处进行:
							tfw/lpm/03_extended/01_user_data_mgr/113_priv_strict_mgr/action.jsp?for=do_add&seq=NN&user_id_NN=1019&remark_NN=TC_2002002

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1019&function_id=113

			03	预期:
					操作成功。
					只能增删改用户 ID 为 1019 的数据项。
					一旦把用户 ID 改为其他用户,则此项数据不能再被修改和删除。

			04	实际:
					操作成功。
					只能增删改用户 ID 为 1019 的数据项。
					一旦把用户 ID 改为其他用户,则此项数据不能再被修改和删除。

			05	结论:
					符合预期。

		TC_2002003 :登录用户访问“未管理”、状态为启用的功能:
			01	准备:
					1.	功能 113 的控制级别置为“未管理”,状态置为启用。
							tfw/lpm/01_basic/06_function_mgr/action.jsp?for=do_edit&id=113&control_lv=0&control_lv_effect_flag=true&stat=true&stat_effect_flag=true
							(“未管理”的功能不受状态影响,在此设为 true 以验证)

					2.	用户 ID 1020 登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1020&idle_seconds=72000
							(user_passwd=null)

			02	操作:
					1.	登录用户执行增删改查操作;录入含有 null 项的数据,可由 URL 处进行:
							tfw/lpm/03_extended/01_user_data_mgr/113_priv_strict_mgr/action.jsp?for=do_add&seq=NN&user_id_NN=1020&remark_NN=TC_2002003

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1020&function_id=113

			03	预期:
					操作成功。
					只能增删改用户 ID 为 1020 的数据项。
					一旦把用户 ID 改为其他用户,则此项数据不能再被修改和删除。

			04	实际:
					操作成功。
					只能增删改用户 ID 为 1020 的数据项。
					一旦把用户 ID 改为其他用户,则此项数据不能再被修改和删除。

			05	结论:
					符合预期。

		善后:
			功能 113 的控制级别置为“未管理”,状态置为启用。
				tfw/lpm/01_basic/06_function_mgr/action.jsp?for=do_edit&id=113&control_lv=0&control_lv_effect_flag=true&stat=true&stat_effect_flag=true

	[2003]	Function not enabled => X
		TC_2003001 :非登录状态访问:
			01	准备:
					1.	功能 113 的控制级别置为“受管理”,状态置为未启用。
							tfw/lpm/01_basic/06_function_mgr/action.jsp?for=do_edit&id=113&control_lv=1&control_lv_effect_flag=true&stat=false&stat_effect_flag=true

					2.	将当前界面置于非登录 (已注销) 状态。

			02	操作:
					1.	执行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&function_id=113

			03	预期:
					结果报告中含有“功能未启用”类含义字样。

			04	实际:
					[X] Function not enabled!

			05	结论:
					符合预期。

		TC_2003002 :登录状态访问:
			01	准备:
					1.	功能 113 的控制级别置为“受管理”,状态置为未启用。
							tfw/lpm/01_basic/06_function_mgr/action.jsp?for=do_edit&id=113&control_lv=1&control_lv_effect_flag=true&stat=false&stat_effect_flag=true

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1020&idle_seconds=72000

			02	操作:
					1.	执行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&function_id=113

			03	预期:
					结果报告中含有“功能未启用”类含义字样。

			04	实际:
					[X] Function not enabled!

			05	结论:
					符合预期。

		善后:
			功能 113 的控制级别置为“未管理”,状态置为启用。
				tfw/lpm/01_basic/06_function_mgr/action.jsp?for=do_edit&id=113&control_lv=0&control_lv_effect_flag=true&stat=true&stat_effect_flag=true
--------------------------------------------------------------------------------
User:
	User existed;
	User name not duplicated;
	User enabled.
	(“有效”的用户)

	[2011]	User not existed => X
		TC_2011001 :非登录状态访问“有效”的功能:
			01	准备:-

			02	操作:
					1.	非登录状态下访问“有效”的功能。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&function_id=2

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“用户未找到”类含义字样。

			04	实际:
					[X] User not found in user records!

			05	结论:
					符合预期。

		TC_2011002 :不存在的用户访问“有效”的功能:
			01	准备:
					1.	制造“有效”用户及“有效” UGM ,令用户可登录。
						+	User: id=1021, name=user_1021, stat=true, passwd=1021, remark=TC_2101002
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1021&name_NN=user_1021&stat_NN=true&passwd_NN=password_1021&remark_NN=TC_2011002

							+	UGM: id=1041, user_id=1021, group_id=1003, stat=true, remark=TC_2101002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1041&user_id_NN=1021&group_id_NN=1003&stat_NN=true&remark_NN=TC_2011002

								*	Group: id=1003, remark="...[换行]TC_2011002"

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1021&user_passwd=password_1021&idle_seconds=72000

					3.	登录后删除用户 (UGM 暂时保留)。
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_remove&id=1021

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1021&function_id=2

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“用户未找到”类含义字样。
					3.	被“踢出”。

			04	实际:
					[X] User not found in user records!
					Logout OK.

			05	结论:
					符合预期。

	[2012]	User name duplicated (while control by user name) => X
		TC_2012001 :
			01	准备:
					沿用 TC_1002001 的数据,其用户数据项备注均追加“[换行]TC_2012001”。

			02	操作:
					“外部”模式验证:
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&n&user_name=same_01&function_id=3
						tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&n&user_name=same_02&function_id=3

			03	预期:
					1.	失败。
					2.	结果报告中含有“用户名重复”类含义字样。

			04	结果:
					[X] User name duplicated, user ID is required!

			05	结论:
					符合预期。

	[2013]	User not enabled => X
		TC_2013001 :用户状态为 null 。
			01	准备:
					1.	制造“有效”用户及“有效” UGM ,令用户可登录。
						+	User: id=1022, name=user_1022, stat=true, passwd=1022, remark=TC_2013001
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1022&name_NN=user_1022&stat_NN=true&passwd_NN=password_1022&remark_NN=TC_2013001

							+	UGM: id=1042, user_id=1022, group_id=1003, stat=true, remark=TC_2013001
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1042&user_id_NN=1022&group_id_NN=1003&stat_NN=true&remark_NN=TC_2013001
								(此 UGM 仅为令用户可登录,暂无需进行多条测试)

								*	Group: id=1003, remark="...[换行]TC_2013001"

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1022&user_passwd=password_1022&idle_seconds=72000

					3.	将用户的状态置为 null 。
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_edit&id=1022&stat_effect_flag=true

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1022&function_id=4

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“用户未启用”类含义字样。
					3.	被“踢出”。

			04	实际:
					[X] User not enabled!
					Logout OK.

			05	结论:
					符合预期。

		TC_2013002 :用户状态为禁用。
			01	准备:
					1.	制造“有效”用户及“有效” UGM ,令用户可登录。
						+	User: id=1023, name=user_1023, stat=true, passwd=1023, remark=TC_2013002
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1023&name_NN=user_1023&stat_NN=true&passwd_NN=password_1023&remark_NN=TC_2013002

							+	UGM: id=1043, user_id=1023, group_id=1003, stat=true, remark=TC_2013002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1043&user_id_NN=1023&group_id_NN=1003&stat_NN=true&remark_NN=TC_2013002
								(此 UGM 仅为令用户可登录,暂无需进行多条测试)

								*	Group: id=1003, remark="...[换行]TC_2013002"
					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1023&user_passwd=password_1023&idle_seconds=72000

					3.	将用户的状态置为禁用。
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_edit&id=1023&stat=false&stat_effect_flag=true

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1023&function_id=4

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“用户未启用”类含义字样。
					3.	被“踢出”。

			04	实际:
					[X] User not enabled!
					Logout OK.

			05	结论:
					符合预期。
--------------------------------------------------------------------------------
UGM(s):
	UGM(s) of user existed;
	UGM(s) of user related to group(s);
	UGM(s) of user enabled.
	(“有效”的 UGM)

	[2021]	UGM(s) of user not existed => X
		TC_2021001 :
			01	准备:
					1.	制造“有效”用户及“有效” UGM ,令用户可登录。
						+	User: id=1024, name=user_1024, stat=true, passwd=null, remark=TC_2021001
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1024&name_NN=user_1024&stat_NN=true&remark_NN=TC_2021001

							+	UGM: id=1044, user_id=1024, group_id=1003, stat=true, remark=TC_2021001
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1044&user_id_NN=1024&group_id_NN=1003&stat_NN=true&remark_NN=TC_2021001
								(此 UGM 仅为令用户可登录,暂无需进行多条测试)

								*	Group: id=1003, remark="...[换行]TC_2021001"

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1024&idle_seconds=72000

					3.	删除 UGM 。
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_remove&id=1044

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1024&function_id=5

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“与用户相关的 UGM 未找到”类含义字样。
					3.	被“踢出”。

			04	实际:
					[X] User-group-mapping(s) of user not found in user-group-mapping records!
					Logout OK.

			05	结论:
					符合预期。

	[2022]	UGM(s) of user not related to group(s) => X
		TC_2022001 :单项数据测试:
			01	准备:
					1.	制造“有效”用户及“有效” UGM ,令用户可登录。
						+	User: id=1025, name=user_1025, stat=true, passwd=1025, remark=TC_2022001
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1025&name_NN=user_1025&stat_NN=true&passwd_NN=password_1025&remark_NN=TC_2022001

							+	UGM: id=1045, user_id=1025, group_id=1003, stat=true, remark=TC_2022001
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1045&user_id_NN=1025&group_id_NN=1003&stat_NN=true&remark_NN=TC_2022001

								*	Group: id=1003, remark="...[换行]TC_2022001"

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1025&user_passwd=password_1025&idle_seconds=72000

					3.	解除所有相关 UGM 对组的关联。
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_edit&id=1045&group_id_effect_flag=true

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1025&function_id=6

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“与用户相关的 UGM 未关联到组”类含义字样。
					3.	被“踢出”。

			04	实际:
					[X] User-group-mapping(s) of user not related to group(s)!
					Logout OK.

			05	结论:
					符合预期。

		TC_2022002 :多项数据测试:
			01	准备:
					1.	制造“有效”用户及“有效” UGM ,令用户可登录。
						+	User: id=1026, name=user_1026, stat=true, passwd=1026, remark=TC_2022002
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1026&name_NN=user_1026&stat_NN=true&passwd_NN=password_1026&remark_NN=TC_2022002

							+	UGM: id=1046, user_id=1026, group_id=null, stat=null, remark=TC_2022002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1046&user_id_NN=1026&remark_NN=TC_2022002

							+	UGM: id=1047, user_id=1026, group_id=null, stat=false, remark=TC_2022002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1047&user_id_NN=1026&stat_NN=false&remark_NN=TC_2022002

							+	UGM: id=1048, user_id=1026, group_id=null, stat=true, remark=TC_2022002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1048&user_id_NN=1026&stat_NN=true&remark_NN=TC_2022002

							+	UGM: id=1049, user_id=1026, group_id=-9999, stat=null, remark=TC_2022002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1049&user_id_NN=1026&group_id_NN=-9999&remark_NN=TC_2022002

							+	UGM: id=1050, user_id=1026, group_id=-9998, stat=false, remark=TC_2022002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1050&user_id_NN=1026&group_id_NN=-9998&stat_NN=false&remark_NN=TC_2022002

							+	UGM: id=1051, user_id=1026, group_id=-9997, stat=true, remark=TC_2022002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1051&user_id_NN=1026&group_id_NN=-9997&stat_NN=true&remark_NN=TC_2022002

							+	UGM: id=1052, user_id=1026, group_id=-9996, stat=true, remark=TC_2022002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1052&user_id_NN=1026&group_id_NN=-9996&stat_NN=true&remark_NN=TC_2022002

							+	UGM: id=1053, user_id=1026, group_id=1001, stat=true, remark=TC_2022002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1053&user_id_NN=1026&group_id_NN=1001&stat_NN=true&remark_NN=TC_2022002

								*	Group: id=1001, remark="...[换行]TC_2022002"

							+	UGM: id=1054, user_id=1026, group_id=1002, stat=true, remark=TC_2022002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1054&user_id_NN=1026&group_id_NN=1002&stat_NN=true&remark_NN=TC_2022002

								*	Group: id=1002, remark="...[换行]TC_2022002"

							+	UGM: id=1055, user_id=1026, group_id=1003, stat=true, remark=TC_2022002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1055&user_id_NN=1026&group_id_NN=1003&stat_NN=true&remark_NN=TC_2022002

								*	Group: id=1003, remark="...[换行]TC_2022002"

							+	UGM: id=1056, user_id=1026, group_id=1004, stat=true, remark=TC_2022002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1056&user_id_NN=1026&group_id_NN=1004&stat_NN=true&remark_NN=TC_2022002

								*	Group: id=1004, remark="...[换行]TC_2022002"

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1026&user_passwd=password_1026&idle_seconds=72000

					3.	解除所有相关 UGM 对组的关联。

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1025&function_id=6

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“与用户相关的 UGM 未关联到组”类含义字样。
					3.	被“踢出”。

			04	实际:
					[X] User-group-mapping(s) of user not related to group(s)!
					Logout OK.

			05	结论:
					符合预期。

	[2023]	UGM(s) of user not enabled => X
		TC_2023001 :单项数据测试:
			01	准备:
					1.	制造“有效”用户及“有效” UGM ,令用户可登录。
						+	User: id=1027, name=user_1027, stat=true, passwd=1027, remark=TC_2023001
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1027&name_NN=user_1027&stat_NN=true&passwd_NN=password_1027&remark_NN=TC_2023001

							+	UGM: id=1057, user_id=1027, group_id=1003, stat=true, remark=TC_2023001
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1057&user_id_NN=1027&group_id_NN=1003&stat_NN=true&remark_NN=TC_2023001

								*	Group: id=1003, remark="...[换行]TC_2023001"

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1027&user_passwd=password_1027&idle_seconds=72000

					3.	将“有效” UGM 置于非启用状态,使之无效化。
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_edit&id=1057&stat=false&stat_effect_flag=true

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1027&function_id=7

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“已启用、且与用户相关的 UGM 未关联到组”类含义字样。
					3.	被“踢出”。

			04	实际:
					[X] Enabled user-group-mapping(s) of user not related to group(s)!
					Logout OK.

			05	结论:
					符合预期。

		TC_2023002 :多项数据测试:
			01	准备:
					1.	制造“有效”用户及“有效” UGM ,令用户可登录。
						+	User: id=1028, name=user_1028, stat=true, passwd=null, remark=TC_2023002
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1028&name_NN=user_1028&stat_NN=true&remark_NN=TC_2023002

							+	UGM: id=1058, user_id=1028, group_id=null, stat=null, remark=TC_2023002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1058&user_id_NN=1028&remark_NN=TC_2023002

							+	UGM: id=1059, user_id=1028, group_id=null, stat=false, remark=TC_2023002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1059&user_id_NN=1028&stat_NN=false&remark_NN=TC_2023002

							+	UGM: id=1060, user_id=1028, group_id=null, stat=true, remark=TC_2023002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1060&user_id_NN=1028&stat_NN=true&remark_NN=TC_2023002

							+	UGM: id=1061, user_id=1028, group_id=-9999, stat=null, remark=TC_2023002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1061&user_id_NN=1028&group_id_NN=-9999&remark_NN=TC_2023002

							+	UGM: id=1062, user_id=1028, group_id=-9998, stat=false, remark=TC_2023002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1062&user_id_NN=1028&group_id_NN=-9998&stat_NN=false&remark_NN=TC_2023002

							+	UGM: id=1063, user_id=1028, group_id=-9997, stat=true, remark=TC_2023002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1063&user_id_NN=1028&group_id_NN=-9997&stat_NN=true&remark_NN=TC_2023002

							+	UGM: id=1064, user_id=1028, group_id=-9996, stat=true, remark=TC_2023002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1064&user_id_NN=1028&group_id_NN=-9996&stat_NN=true&remark_NN=TC_2023002

							+	UGM: id=1065, user_id=1028, group_id=1001, stat=true, remark=TC_2023002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1065&user_id_NN=1028&group_id_NN=1001&stat_NN=true&remark_NN=TC_2023002

								*	Group: id=1001, remark="...[换行]TC_2023002"

							+	UGM: id=1066, user_id=1028, group_id=1002, stat=true, remark=TC_2023002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1066&user_id_NN=1028&group_id_NN=1002&stat_NN=true&remark_NN=TC_2023002

								*	Group: id=1002, remark="...[换行]TC_2023002"

							+	UGM: id=1067, user_id=1028, group_id=1003, stat=true, remark=TC_2023002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1067&user_id_NN=1028&group_id_NN=1003&stat_NN=true&remark_NN=TC_2023002

								*	Group: id=1003, remark="...[换行]TC_2023002"

							+	UGM: id=1068, user_id=1028, group_id=1004, stat=true, remark=TC_2023002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1068&user_id_NN=1028&group_id_NN=1004&stat_NN=true&remark_NN=TC_2023002

								*	Group: id=1004, remark="...[换行]TC_2023002"

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1028&user_passwd=password_1028&idle_seconds=72000

					3.	将所有相关且已启用的 UGM 置于非启用状态。
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_edit&stat_effect_flag=true&id=1060&id=1063&id=1065&id=1066&id=1068
							tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_edit&stat=false&stat_effect_flag=true&id=1064&id=1067

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1028&function_id=7

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“已启用、且与用户相关的 UGM 未关联到组”类含义字样。
					3.	被“踢出”。

			04	实际:
					[X] Enabled user-group-mapping(s) of user not related to group(s)!
					Logout OK.

			05	结论:
					符合预期。
--------------------------------------------------------------------------------
Group(s):
	Group(s) of user existed;
	Group(s) of user enabled.
	(“有效”的组)

	[2031]	Group(s) of user not existed => X
		TC_2031001 :单项数据测试:
			01	准备:
					1.	制造“有效”用户、“有效” UGM 及“有效”组,令用户可登录。
						+	User: id=1029, name=user_1029, stat=true, remark=TC_2031001
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1029&name_NN=user_1029&stat_NN=true&remark_NN=TC_2031001

							+	UGM: id=1069, user_id=1029, group_id=1005, stat=true, remark=TC_2031001
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1069&user_id_NN=1029&group_id_NN=1005&stat_NN=true&remark_NN=TC_2031001

								+	Group: id=1005, name=group_1005, stat=true, remark=TC_2031001
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1005&name_NN=group_1005&stat_NN=true&remark_NN=TC_2031001

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1029&idle_seconds=72000

					3.	删除组。
							tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_remove&id=1005

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1029&function_id=2

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“与用户相关的组未找到”类含义字样。
					3.	被“踢出”。

			04	实际:
					[X] Group(s) of user not found in group records!
					Logout OK.

			05	结论:
					符合预期。

		TC_2031002 :多项数据测试:
			01	准备:
					1.	制造“有效”用户、“有效” UGM 及“有效”组,令用户可登录。
						+	User: id=1030, name=user_1030, stat=true, passwd=null, remark=TC_2121002
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1030&name_NN=user_1030&stat_NN=true&remark_NN=TC_2031002

							+	UGM: id=1070, user_id=1030, group_id=null, stat=null, remark=TC_2031002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1070&user_id_NN=1030&remark_NN=TC_2031002

							+	UGM: id=1071, user_id=1030, group_id=null, stat=false, remark=TC_2031002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1071&user_id_NN=1030&stat_NN=false&remark_NN=TC_2031002

							+	UGM: id=1072, user_id=1030, group_id=null, stat=true, remark=TC_2031002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1072&user_id_NN=1030&stat_NN=true&remark_NN=TC_2031002

							+	UGM: id=1073, user_id=1030, group_id=-9999, stat=null, remark=TC_2031002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1073&user_id_NN=1030&group_id_NN=-9999&remark_NN=TC_2031002

							+	UGM: id=1074, user_id=1030, group_id=-9998, stat=false, remark=TC_2031002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1074&user_id_NN=1030&group_id_NN=-9998&stat_NN=false&remark_NN=TC_2031002

							+	UGM: id=1075, user_id=1030, group_id=-9997, stat=true, remark=TC_2031002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1075&user_id_NN=1030&group_id_NN=-9997&stat_NN=true&remark_NN=TC_2031002

							+	UGM: id=1076, user_id=1030, group_id=-9996, stat=true, remark=TC_2031002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1076&user_id_NN=1030&group_id_NN=-9996&stat_NN=true&remark_NN=TC_2031002

							+	UGM: id=1077, user_id=1030, group_id=1007, stat=true, remark=TC_2031002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1077&user_id_NN=1030&group_id_NN=1007&stat_NN=true&remark_NN=TC_2031002

								+	Group: id=1007, name=group_1007, stat=null, remark=TC_2031002
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1007&name_NN=group_1007&remark_NN=TC_2031002

							+	UGM: id=1078, user_id=1030, group_id=1008, stat=true, remark=TC_2031002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1078&user_id_NN=1030&group_id_NN=1008&stat_NN=true&remark_NN=TC_2031002

								+	Group: id=1008, name=group_1008, stat=false, remark=TC_2031002
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1008&name_NN=group_1008&stat_NN=false&remark_NN=TC_2031002

							+	UGM: id=1079, user_id=1030, group_id=1009, stat=true, remark=TC_2031002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1079&user_id_NN=1030&group_id_NN=1009&stat_NN=true&remark_NN=TC_2031002

								+	Group: id=1009, name=group_1009, stat=true, remark=TC_2031002
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1009&name_NN=group_1009&stat_NN=true&remark_NN=TC_2031002

							+	UGM: id=1080, user_id=1030, group_id=1010, stat=true, remark=TC_2031002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1080&user_id_NN=1030&group_id_NN=1010&stat_NN=true&remark_NN=TC_2031002

								+	Group: id=1010, name=group_1010, stat=true, remark=TC_2031002
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1010&name_NN=group_1010&stat_NN=true&remark_NN=TC_2031002

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1030&idle_seconds=72000

					3.	删除组。
							tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_remove&id=1007&id=1008&id=1009&id=1010

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1030&function_id=2

			03	预期:
					1.	登录失败。
					2.	结果报告中含有“与用户相关的组未找到”类含义字样。
					3.	被“踢出”。

			04	实际:
					[X] Group(s) of user not found in group records!
					Logout OK.

			05	结论:
					符合预期。

	[2032]	Group(s) of user not enabled => X
		TC_2032001 :单项数据测试:
			01	准备:
					1.	制造“有效”用户、“有效” UGM 及“有效”组,令用户可登录。
						+	User: id=1031, name=user_1031, stat=true, passwd=password_1031, remark=TC_2032001
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1031&name_NN=user_1031&stat_NN=true&passwd_NN=password_1031&remark_NN=TC_2032001

							+	UGM: id=1081, user_id=1031, group_id=1011, stat=true, remark=TC_2032001
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1081&user_id_NN=1031&group_id_NN=1011&stat_NN=true&remark_NN=TC_2032001

								+	Group: id=1011, name=group_1011, stat=true, remark=TC_2032001
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1011&name_NN=group_1011&stat_NN=true&remark_NN=TC_2032001

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1031&user_passwd=password_1031&idle_seconds=72000

					3.	将“有效”组置于非启用状态,使之无效化。
							tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_edit&id=1011&stat=false&stat_effect_flag=true

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1031&function_id=3

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“与用户相关的组未启用”类含义字样。
					3.	被“踢出”。

			04	实际:
					[X] Group(s) of user not enabled!
					Logout OK.

			05	结论:
					符合预期。

		TC_2032002 :多项数据测试:
			01	准备:
					1.	制造“有效”用户、“有效” UGM 及“有效”组,令用户可登录。
						+	User: id=1032, name=user_1032, stat=true, passwd=password_1032, remark=TC_2032002
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1032&name_NN=user_1032&stat_NN=true&passwd_NN=password_1032&remark_NN=TC_2032002

							+	UGM: id=1082, user_id=1032, group_id=null, stat=null, remark=TC_2032002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1082&user_id_NN=1032&remark_NN=TC_2032002

							+	UGM: id=1083, user_id=1032, group_id=null, stat=false, remark=TC_2032002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1083&user_id_NN=1032&stat_NN=false&remark_NN=TC_2032002

							+	UGM: id=1084, user_id=1032, group_id=null, stat=true, remark=TC_2032002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1084&user_id_NN=1032&stat_NN=true&remark_NN=TC_2032002

							+	UGM: id=1085, user_id=1032, group_id=-9999, stat=null, remark=TC_2032002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1085&user_id_NN=1032&group_id_NN=-9999&remark_NN=TC_2032002

							+	UGM: id=1086, user_id=1032, group_id=-9998, stat=false, remark=TC_2032002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1086&user_id_NN=1032&group_id_NN=-9998&stat_NN=false&remark_NN=TC_2032002

							+	UGM: id=1087, user_id=1032, group_id=-9997, stat=true, remark=TC_2032002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1087&user_id_NN=1032&group_id_NN=-9997&stat_NN=true&remark_NN=TC_2032002

							+	UGM: id=1088, user_id=1032, group_id=-9996, stat=true, remark=TC_2032002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1088&user_id_NN=1032&group_id_NN=-9996&stat_NN=true&remark_NN=TC_2032002

							+	UGM: id=1089, user_id=1032, group_id=1001, stat=true, remark=TC_2032002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1089&user_id_NN=1032&group_id_NN=1001&stat_NN=true&remark_NN=TC_2032002

								*	Group: id=1001, remark="...[换行]TC_2032002"

							+	UGM: id=1090, user_id=1032, group_id=1002, stat=true, remark=TC_2032002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1090&user_id_NN=1032&group_id_NN=1002&stat_NN=true&remark_NN=TC_2032002

								*	Group: id=1002, remark="...[换行]TC_2032002"

							+	UGM: id=1091, user_id=1032, group_id=1012, stat=true, remark=TC_2032002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1091&user_id_NN=1032&group_id_NN=1012&stat_NN=true&remark_NN=TC_2032002

								+	Group: id=1012, name=group_1012, stat=true, remark=TC_2032002
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1012&name_NN=group_1012&stat_NN=true&remark_NN=TC_2032002

							+	UGM: id=1092, user_id=1032, group_id=1013, stat=true, remark=TC_2032002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1092&user_id_NN=1032&group_id_NN=1013&stat_NN=true&remark_NN=TC_2032002

								+	Group: id=1013, name=group_1013, stat=true, remark=TC_2032002
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1013&name_NN=group_1013&stat_NN=true&remark_NN=TC_2032002

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1032&user_passwd=password_1032&idle_seconds=72000

					3.	将“有效”组置于非启用状态,使之无效化。
							tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_edit&stat=false&stat_effect_flag=true&id=1012&id=1013

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1032&function_id=3

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“与用户相关的组未启用”类含义字样。
					3.	被“踢出”。

			04	实际:
					[X] Group(s) of user not enabled!
					Logout OK.

			05	结论:
					符合预期。
--------------------------------------------------------------------------------
GFM(s):
	GFM(s) of user existed;
	GFM(s) of user enabled;
	GFM(s) of user related to function(s);
	GFM(s) of user related to the appointed function.
	(“有效”的 GFM)

	[2041]	GFM(s) of user not existed => X
		TC_2041001 :单项数据测试:
			01	准备:
					1.	沿用 TC_1031001 的数据,其用户、组、UGM 数据项备注均追加“[换行]TC_2041001”。

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1019&user_passwd=password_1019&idle_seconds=72000

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1019&function_id=4

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“与用户 (的‘有效’组) 相关的 GFM 未找到”类含义字样。

			04	实际:
					[X] Group-function-mapping(s) of user's group(s) not found in group-function-mapping records!

			05	结论:
					符合预期。

		TC_2041002 :多项数据测试:
			01	准备:
					1.	沿用 TC_1031002 的数据,其用户、组、UGM 数据项备注均追加“[换行]TC_2041002”。

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1020&idle_seconds=72000

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1020&function_id=4

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“与用户 (的‘有效’组) 相关的 GFM 未找到”类含义字样。

			04	实际:
					[X] Group-function-mapping(s) of user's group(s) not found in group-function-mapping records!

			05	结论:
					符合预期。

	[2042]	GFM(s) of user not enabled => X
		TC_2042001 :单项数据测试:
			01	准备:
					1.	制造可登录的用户及处于非启用状态的 GFM 。
						+	User: id=1033, name=user_1033, stat=true, passwd=password_1033, remark=TC_2042001
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1033&name_NN=user_1033&stat_NN=true&passwd_NN=password_1033&remark_NN=TC_2042001

							+	UGM: id=1093, user_id=1033, group_id=1014, stat=true, remark=TC_2042001
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1093&user_id_NN=1033&group_id_NN=1014&stat_NN=true&remark_NN=TC_2042001

								+	Group: id=1014, name=group_1014, stat=true, remark=TC_2042001
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1014&name_NN=group_1014&stat_NN=true&remark_NN=TC_2042001

									+	GFM: id=1001, group_id=1014, function_id=null, stat=false, remark=TC_2042001
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1001&group_id_NN=1014&stat_NN=false&remark_NN=TC_2042001

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1033&user_passwd=password_1033&idle_seconds=72000

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1033&function_id=5

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“与用户 (的‘有效’组) 相关的 GFM 未启用”类含义字样。

			04	实际:
					[X] Group-function-mapping(s) of user's group(s) not enabled!

			05	结论:
					符合预期。

		TC_2042002 :多项数据测试:
			01	准备:
					1.	制造可登录的用户及处于非启用状态的 GFM 。
						+	User: id=1034, name=user_1034, stat=true, passwd=password_1034, remark=TC_2042002
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1034&name_NN=user_1034&stat_NN=true&passwd_NN=password_1034&remark_NN=TC_2042002

							+	UGM: id=1094, user_id=1034, group_id=null, stat=null, remark=TC_2042002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1094&user_id_NN=1034&remark_NN=TC_2042002

							+	UGM: id=1095, user_id=1034, group_id=null, stat=false, remark=TC_2042002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1095&user_id_NN=1034&stat_NN=false&remark_NN=TC_2042002

							+	UGM: id=1096, user_id=1034, group_id=null, stat=true, remark=TC_2042002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1096&user_id_NN=1034&stat_NN=true&remark_NN=TC_2042002

							+	UGM: id=1097, user_id=1034, group_id=-9999, stat=null, remark=TC_2042002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1097&user_id_NN=1034&group_id_NN=-9999&remark_NN=TC_2042002

							+	UGM: id=1098, user_id=1034, group_id=-9998, stat=false, remark=TC_2042002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1098&user_id_NN=1034&group_id_NN=-9998&stat_NN=false&remark_NN=TC_2042002

							+	UGM: id=1099, user_id=1034, group_id=-9997, stat=true, remark=TC_2042002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1099&user_id_NN=1034&group_id_NN=-9997&stat_NN=true&remark_NN=TC_2042002

							+	UGM: id=1100, user_id=1034, group_id=-9996, stat=true, remark=TC_2042002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1100&user_id_NN=1034&group_id_NN=-9996&stat_NN=true&remark_NN=TC_2042002

							+	UGM: id=1101, user_id=1034, group_id=1001, stat=true, remark=TC_2042002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1101&user_id_NN=1034&group_id_NN=1001&stat_NN=true&remark_NN=TC_2042002

								*	Group: id=1001, remark="...[换行]TC_2042002"

							+	UGM: id=1102, user_id=1034, group_id=1002, stat=true, remark=TC_2042002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1102&user_id_NN=1034&group_id_NN=1002&stat_NN=true&remark_NN=TC_2042002

								*	Group: id=1002, remark="...[换行]TC_2042002"

							+	UGM: id=1103, user_id=1034, group_id=1003, stat=true, remark=TC_2042002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1103&user_id_NN=1034&group_id_NN=1003&stat_NN=true&remark_NN=TC_2042002

								*	Group: id=1003, remark="...[换行]TC_2042002"

							+	UGM: id=1104, user_id=1034, group_id=1004, stat=true, remark=TC_2042002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1104&user_id_NN=1034&group_id_NN=1004&stat_NN=true&remark_NN=TC_2042002

								*	Group: id=1004, remark="...[换行]TC_2042002"
								----------------------------------------

							+	UGM: id=1105, user_id=1034, group_id=1015, stat=true, remark=TC_2042002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1105&user_id_NN=1034&group_id_NN=1015&stat_NN=true&remark_NN=TC_2042002

								+	Group: id=1015, name=group_1015, stat=true, remark=TC_2042002
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1015&name_NN=group_1015&stat_NN=true&remark_NN=TC_2042002

									+	GFM: id=1002, group_id=1015, function_id=null, stat=null, remark=TC_2042002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1002&group_id_NN=1015&remark_NN=TC_2042002
										(GFM 状态 null)

									+	GFM: id=1003, group_id=1015, function_id=-9999, stat=false, remark=TC_2042002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1003&group_id_NN=1015&function_id_NN=-9999&stat_NN=false&remark_NN=TC_2042002
										(GFM 状态 false ,相关的功能不存在)

									+	GFM: id=1004, group_id=1015, function_id=104, stat=false, remark=TC_2042002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1004&group_id_NN=1015&function_id_NN=104&stat_NN=false&remark_NN=TC_2042002
										(GFM 状态 false ,相关的功能存在)

							+	UGM: id=1106, user_id=1034, group_id=1016, stat=true, remark=TC_2042002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1106&user_id_NN=1034&group_id_NN=1016&stat_NN=true&remark_NN=TC_2042002

								+	Group: id=1016, name=group_1016, stat=true, remark=TC_2042002
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1016&name_NN=group_1016&stat_NN=true&remark_NN=TC_2042002

									+	GFM: id=1005, group_id=1015, function_id=null, stat=false, remark=TC_2042002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1005&group_id_NN=1016&stat_NN=false&remark_NN=TC_2042002
										(GFM 状态 false)

									+	GFM: id=1006, group_id=1015, function_id=-9998, stat=null, remark=TC_2042002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1006&group_id_NN=1015&function_id_NN=-9998&remark_NN=TC_2042002
										(GFM 状态 null ,相关的功能不存在)

									+	GFM: id=1007, group_id=1015, function_id=104, stat=null, remark=TC_2042002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1007&group_id_NN=1015&function_id_NN=104&remark_NN=TC_2042002
										(GFM 状态 null ,相关的功能存在)

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1034&user_passwd=password_1034&idle_seconds=72000

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1034&function_id=5

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“与用户 (的‘有效’组) 相关的 GFM 未启用”类含义字样。

			04	实际:
					[X] Group-function-mapping(s) of user's group(s) not enabled!

			05	结论:
					符合预期。

	[2043]	GFM(s) of user not related to function(s) => X
		TC_2043001 :单项数据测试:
			01	准备:
					1.	制造可登录的用户及处于非启用状态的 GFM 。
						+	User: id=1035, name=user_1035, stat=true, passwd=password_1035, remark=TC_2043001
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1035&name_NN=user_1035&stat_NN=true&passwd_NN=password_1035&remark_NN=TC_2043001

							+	UGM: id=1107, user_id=1035, group_id=1017, stat=true, remark=TC_2043001
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1107&user_id_NN=1035&group_id_NN=1017&stat_NN=true&remark_NN=TC_2043001

								+	Group: id=1017, name=group_1017, stat=true, remark=TC_2043001
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1017&name_NN=group_1017&stat_NN=true&remark_NN=TC_2043001

									+	GFM: id=1008, group_id=1017, function_id=null, stat=true, remark=TC_2043001
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1008&group_id_NN=1017&stat_NN=true&remark_NN=TC_2043001

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1035&user_passwd=password_1035&idle_seconds=72000

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1035&function_id=6

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“已启用、且与用户相关的 GFM 未关联到功能”类含义字样。

			04	实际:
					[X] Enabled group-function-mapping(s) of user's group(s) not related to function(s)!

			05	结论:
					符合预期。

		TC_2043002 :多项数据测试:
			01	准备:
					1.	制造可登录的用户及启用但未关联到功能的 GFM 。
						+	User: id=1036, name=user_1036, stat=true, passwd=password_1036, remark=TC_2043002
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1036&name_NN=user_1036&stat_NN=true&passwd_NN=password_1036&remark_NN=TC_2043002

							+	UGM: id=1108, user_id=1036, group_id=null, stat=null, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1108&user_id_NN=1036&remark_NN=TC_2043002

							+	UGM: id=1109, user_id=1036, group_id=null, stat=false, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1109&user_id_NN=1036&stat_NN=false&remark_NN=TC_2043002

							+	UGM: id=1110, user_id=1036, group_id=null, stat=true, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1110&user_id_NN=1036&stat_NN=true&remark_NN=TC_2043002

							+	UGM: id=1111, user_id=1036, group_id=-9999, stat=null, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1111&user_id_NN=1036&group_id_NN=-9999&remark_NN=TC_2043002

							+	UGM: id=1112, user_id=1036, group_id=-9998, stat=false, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1112&user_id_NN=1036&group_id_NN=-9998&stat_NN=false&remark_NN=TC_2043002

							+	UGM: id=1113, user_id=1036, group_id=-9997, stat=true, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1113&user_id_NN=1036&group_id_NN=-9997&stat_NN=true&remark_NN=TC_2043002

							+	UGM: id=1114, user_id=1036, group_id=-9996, stat=true, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1114&user_id_NN=1036&group_id_NN=-9996&stat_NN=true&remark_NN=TC_2043002

							+	UGM: id=1115, user_id=1036, group_id=1001, stat=true, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1115&user_id_NN=1036&group_id_NN=1001&stat_NN=true&remark_NN=TC_2043002

								*	Group: id=1001, remark="...[换行]TC_2043002"

							+	UGM: id=1116, user_id=1036, group_id=1002, stat=true, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1116&user_id_NN=1036&group_id_NN=1002&stat_NN=true&remark_NN=TC_2043002

								*	Group: id=1002, remark="...[换行]TC_2043002"

							+	UGM: id=1117, user_id=1036, group_id=1003, stat=true, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1117&user_id_NN=1036&group_id_NN=1003&stat_NN=true&remark_NN=TC_2043002

								*	Group: id=1003, remark="...[换行]TC_2043002"

							+	UGM: id=1118, user_id=1036, group_id=1004, stat=true, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1118&user_id_NN=1036&group_id_NN=1004&stat_NN=true&remark_NN=TC_2043002

								*	Group: id=1004, remark="...[换行]TC_2043002"

							+	UGM: id=1119, user_id=1036, group_id=1015, stat=true, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1119&user_id_NN=1036&group_id_NN=1015&stat_NN=true&remark_NN=TC_2043002

								*	Group: id=1015, remark="...[换行]TC_2043002"

							+	UGM: id=1120, user_id=1036, group_id=1016, stat=true, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1120&user_id_NN=1036&group_id_NN=1016&stat_NN=true&remark_NN=TC_2043002

								*	Group: id=1016, remark="...[换行]TC_2043002"
								----------------------------------------

							+	UGM: id=1121, user_id=1036, group_id=1018, stat=true, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1121&user_id_NN=1036&group_id_NN=1018&stat_NN=true&remark_NN=TC_2043002

								+	Group: id=1018, name=group_1018, stat=true, remark=TC_2043002
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1018&name_NN=group_1018&stat_NN=true&remark_NN=TC_2043002

									+	GFM: id=1009, group_id=1018, function_id=null, stat=true, remark=TC_2043002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1009&group_id_NN=1018&stat_NN=true&remark_NN=TC_2043002
										(GFM 状态 true ,未关联功能)

									+	GFM: id=1010, group_id=1018, function_id=null, stat=true, remark=TC_2043002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1010&group_id_NN=1018&stat_NN=true&remark_NN=TC_2043002
										(GFM 状态 true ,未关联功能)

							+	UGM: id=1122, user_id=1036, group_id=1019, stat=true, remark=TC_2043002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1122&user_id_NN=1036&group_id_NN=1019&stat_NN=true&remark_NN=TC_2043002

								+	Group: id=1019, name=group_1019, stat=true, remark=TC_2043002
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1019&name_NN=group_1019&stat_NN=true&remark_NN=TC_2043002

									+	GFM: id=1011, group_id=1019, function_id=null, stat=true, remark=TC_2043002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1011&group_id_NN=1019&stat_NN=true&remark_NN=TC_2043002
										(GFM 状态 true ,未关联功能)

									+	GFM: id=1012, group_id=1019, function_id=null, stat=true, remark=TC_2043002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1012&group_id_NN=1019&stat_NN=true&remark_NN=TC_2043002
										(GFM 状态 true ,未关联功能)

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1036&user_passwd=password_1036&idle_seconds=72000

			02	操作:
					1.	登录用户访问“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1036&function_id=6

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“已启用、且与用户相关的 GFM 未关联到功能”类含义字样。

			04	实际:
					[X] Enabled group-function-mapping(s) of user's group(s) not related to function(s)!

			05	结论:
					符合预期。
--------------------------------------------------------------------------------
Function II:
	[2051]	Function not found in enabled group-function-mapping(s) => X
		TC_2051001 :单项数据测试:
			01	准备:
					1.	制造可登录的用户及处于非启用状态的 GFM 。
						+	User: id=1037, name=user_1037, stat=true, passwd=password_1037, remark=TC_2051001
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1037&name_NN=user_1037&stat_NN=true&passwd_NN=password_1037&remark_NN=TC_2051001

							+	UGM: id=1123, user_id=1037, group_id=1020, stat=true, remark=TC_2051001
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1123&user_id_NN=1037&group_id_NN=1020&stat_NN=true&remark_NN=TC_2051001

								+	Group: id=1020, name=group_1020, stat=true, remark=TC_2051001
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1020&name_NN=group_1020&stat_NN=true&remark_NN=TC_2051001

									+	GFM: id=1013, group_id=1020, function_id=111, stat=true, remark=TC_2051001
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1013&group_id_NN=1020&function_id_NN=111&stat_NN=true&remark_NN=TC_2051001

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1037&user_passwd=password_1037&idle_seconds=72000

			02	操作:
					1.	登录用户访问 ID 111 之外的“有效”功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1037&function_id=7

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“此功能不在已启用、且与用户相关的 GFM 中”类含义字样。

			04	实际:
					[X] Function not found in enabled group-function-mapping(s) of user's group(s)!

			05	结论:
					符合预期。

		TC_2051002 :多项数据测试:
			01	准备:
					1.	制造可登录的用户及启用但未关联到功能的 GFM 。
						+	User: id=1038, name=user_1038, stat=true, passwd=password_1038, remark=TC_2051002
							tfw/lpm/01_basic/02_user_mgr/action.jsp?for=do_add&seq=NN&id_NN=1038&name_NN=user_1038&stat_NN=true&passwd_NN=password_1038&remark_NN=TC_2051002

							+	UGM: id=1124, user_id=1038, group_id=null, stat=null, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1124&user_id_NN=1038&remark_NN=TC_2051002

							+	UGM: id=1125, user_id=1038, group_id=null, stat=false, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1125&user_id_NN=1038&stat_NN=false&remark_NN=TC_2051002

							+	UGM: id=1126, user_id=1038, group_id=null, stat=true, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1126&user_id_NN=1038&stat_NN=true&remark_NN=TC_2051002

							+	UGM: id=1127, user_id=1038, group_id=-9999, stat=null, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1127&user_id_NN=1038&group_id_NN=-9999&remark_NN=TC_2051002

							+	UGM: id=1128, user_id=1038, group_id=-9998, stat=false, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1128&user_id_NN=1038&group_id_NN=-9998&stat_NN=false&remark_NN=TC_2051002

							+	UGM: id=1129, user_id=1038, group_id=-9997, stat=true, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1129&user_id_NN=1038&group_id_NN=-9997&stat_NN=true&remark_NN=TC_2051002

							+	UGM: id=1130, user_id=1038, group_id=-9996, stat=true, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1130&user_id_NN=1038&group_id_NN=-9996&stat_NN=true&remark_NN=TC_2051002

							+	UGM: id=1131, user_id=1038, group_id=1001, stat=true, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1131&user_id_NN=1038&group_id_NN=1001&stat_NN=true&remark_NN=TC_2051002

								*	Group: id=1001, remark="...[换行]TC_2051002"

							+	UGM: id=1132, user_id=1038, group_id=1002, stat=true, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1132&user_id_NN=1038&group_id_NN=1002&stat_NN=true&remark_NN=TC_2051002

								*	Group: id=1002, remark="...[换行]TC_2051002"

							+	UGM: id=1133, user_id=1038, group_id=1003, stat=true, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1133&user_id_NN=1038&group_id_NN=1003&stat_NN=true&remark_NN=TC_2051002

								*	Group: id=1003, remark="...[换行]TC_2051002"

							+	UGM: id=1134, user_id=1038, group_id=1004, stat=true, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1134&user_id_NN=1038&group_id_NN=1004&stat_NN=true&remark_NN=TC_2051002

								*	Group: id=1004, remark="...[换行]TC_2051002"

							+	UGM: id=1135, user_id=1038, group_id=1015, stat=true, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1135&user_id_NN=1038&group_id_NN=1015&stat_NN=true&remark_NN=TC_2051002

								*	Group: id=1015, remark="...[换行]TC_2051002"

							+	UGM: id=1136, user_id=1038, group_id=1016, stat=true, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1136&user_id_NN=1038&group_id_NN=1016&stat_NN=true&remark_NN=TC_2051002

								*	Group: id=1016, remark="...[换行]TC_2051002"

							+	UGM: id=1137, user_id=1038, group_id=1018, stat=true, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1137&user_id_NN=1038&group_id_NN=1018&stat_NN=true&remark_NN=TC_2051002

								*	Group: id=1018, remark="...[换行]TC_2051002"

							+	UGM: id=1138, user_id=1038, group_id=1019, stat=true, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1138&user_id_NN=1038&group_id_NN=1019&stat_NN=true&remark_NN=TC_2051002

								*	Group: id=1019, remark="...[换行]TC_2051002"
								----------------------------------------

							+	UGM: id=1139, user_id=1038, group_id=1021, stat=true, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1139&user_id_NN=1038&group_id_NN=1021&stat_NN=true&remark_NN=TC_2051002

								+	Group: id=1021, name=group_1021, stat=true, remark=TC_2051002
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1021&name_NN=group_1021&stat_NN=true&remark_NN=TC_2051002

									+	GFM: id=1014, group_id=1021, function_id=null, stat=true, remark=TC_2051002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1014&group_id_NN=1021&stat_NN=true&remark_NN=TC_2051002
										(GFM 状态 true ,未关联功能)

									+	GFM: id=1015, group_id=1021, function_id=null, stat=true, remark=TC_2051002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1015&group_id_NN=1021&stat_NN=true&remark_NN=TC_2051002
										(GFM 状态 true ,未关联功能)
										----------------------------------------

									+	GFM: id=1016, group_id=1021, function_id=111, stat=true, remark=TC_2051002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1016&group_id_NN=1021&function_id_NN=111&stat_NN=true&remark_NN=TC_2051002

									+	GFM: id=1017, group_id=1021, function_id=114, stat=true, remark=TC_2051002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1017&group_id_NN=1021&function_id_NN=114&stat_NN=true&remark_NN=TC_2051002

							+	UGM: id=1140, user_id=1038, group_id=1022, stat=true, remark=TC_2051002
								tfw/lpm/01_basic/04_ugm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1140&user_id_NN=1038&group_id_NN=1022&stat_NN=true&remark_NN=TC_2051002

								+	Group: id=1022, name=group_1022, stat=true, remark=TC_2051002
									tfw/lpm/01_basic/03_group_mgr/action.jsp?for=do_add&seq=NN&id_NN=1022&name_NN=group_1022&stat_NN=true&remark_NN=TC_2051002

									+	GFM: id=1018, group_id=1022, function_id=null, stat=true, remark=TC_2051002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1018&group_id_NN=1022&stat_NN=true&remark_NN=TC_2051002
										(GFM 状态 true ,未关联功能)

									+	GFM: id=1019, group_id=1022, function_id=null, stat=true, remark=TC_2051002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1019&group_id_NN=1022&stat_NN=true&remark_NN=TC_2051002
										(GFM 状态 true ,未关联功能)
										----------------------------------------

									+	GFM: id=1020, group_id=1022, function_id=113, stat=true, remark=TC_2051002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1020&group_id_NN=1022&function_id_NN=113&stat_NN=true&remark_NN=TC_2051002

									+	GFM: id=1021, group_id=1022, function_id=112, stat=true, remark=TC_2051002
										tfw/lpm/01_basic/07_gfm_mgr/action.jsp?for=do_add&seq=NN&id_NN=1021&group_id_NN=1022&function_id_NN=112&stat_NN=true&remark_NN=TC_2051002

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_name=user_1038&user_passwd=password_1038&idle_seconds=72000

			02	操作:
					1.	登录用户访问 ID 111 、112 之外的“有效”的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1038&function_id=7

			03	预期:
					1.	访问失败。
					2.	结果报告中含有“此功能不在已启用、且与用户相关的 GFM 中”类含义字样。

			04	实际:
					[X] Function not found in enabled group-function-mapping(s) of user's group(s)!

			05	结论:
					符合预期。
--------------------------------------------------------------------------------
Success:
	[2061]	Function found in enabled group-function-mapping(s) => OK
		TC_2061001
			01	准备:
					1.	沿用 TC_2051001 的数据,其用户、组、UGM 数据项备注均追加“[换行]TC_2061001”。

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1037&user_passwd=password_1037&idle_seconds=72000

			02	操作:
					1.	登录用户访问 ID 为 111 的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1037&function_id=111

			03	预期:
					1.	访问成功。

			04	实际:
					0: OK.

			05	结论:
					符合预期。

		TC_2061002
			01	准备:
					1.	沿用 TC_2051002 的数据,其用户、组、UGM 数据项备注均追加“[换行]TC_2061002”。

					2.	用户登录。
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=do_login_inner&user_id=1038&user_passwd=password_1038&idle_seconds=72000

			02	操作:
					1.	登录用户访问 ID 为 111 及 112 的功能;如果可能,进行增删改查操作。

					2.	“外部”模式验证:
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1038&function_id=111
							tfw/lpm/01_basic/01_access_ctl/action.jsp?for=check_access&user_id=1038&function_id=112

			03	预期:
					1.	访问成功。

			04	实际:
					0: OK.

			05	结论:
					符合预期。
================================================================================
01 试验样例
/01 试验样例
Category: ID=[3] Parent_ID=[null] Status=[true] Contains=[1]

试验功能及功能样例。
00 用户数据管理
/01 试验样例/00 用户数据管理
Category: ID=[4] Parent_ID=[3] Status=[true] Contains=[2]

管理含有“所有者”字段的数据。
00 全局数据管理
/01 试验样例/00 用户数据管理/00 全局数据管理
Category: ID=[5] Parent_ID=[4] Status=[true] Contains=[6]

全局数据管理,主要用于纠正错误的所有者和清理无主数据。
为减少对个人数据的不当查看,部分数据管理功能可能只显示数据 ID 和所有者,而不显示其他字段。
00 全字段管理
/01 试验样例/00 用户数据管理/00 全局数据管理/00 全字段管理
Function: ID=[101] Category_ID=[5] Status=[true] Control_Level=[1]

管理全表、全部字段。
01 全字段删改查
/01 试验样例/00 用户数据管理/00 全局数据管理/01 全字段删改查
Function: ID=[102] Category_ID=[5] Status=[true] Control_Level=[1]

阉割控制器,抹消添加能力。
删改查全表、全部字段。
02 全字段只读
/01 试验样例/00 用户数据管理/00 全局数据管理/02 全字段只读
Function: ID=[103] Category_ID=[5] Status=[true] Control_Level=[1]

阉割控制器,抹消增删改能力。
查询全表、全部字段。
03 限制字段管理
/01 试验样例/00 用户数据管理/00 全局数据管理/03 限制字段管理
Function: ID=[104] Category_ID=[5] Status=[true] Control_Level=[1]

管理全表,但只显示数据 ID 和数据所有者。
04 限制字段删改查
/01 试验样例/00 用户数据管理/00 全局数据管理/04 限制字段删改查
Function: ID=[105] Category_ID=[5] Status=[true] Control_Level=[1]

阉割控制器,抹消添加能力。
删改查全表,但只显示数据 ID 和数据所有者。
05 限制字段只读
/01 试验样例/00 用户数据管理/00 全局数据管理/05 限制字段只读
Function: ID=[106] Category_ID=[5] Status=[true] Control_Level=[1]

阉割控制器,抹消增删改能力。
查询全表,但只显示数据 ID 和数据所有者。
01 个人数据管理
/01 试验样例/00 用户数据管理/01 个人数据管理
Category: ID=[6] Parent_ID=[4] Status=[true] Contains=[4]

个人数据管理,用户只能管理自己的数据。
出于不同的试验目的,有的管理器中当前用户可能可以查看到他用户的数据。
00 松散管理
/01 试验样例/00 用户数据管理/01 个人数据管理/00 松散管理
Function: ID=[111] Category_ID=[6] Status=[true] Control_Level=[1]

管理属于自己的数据;可以查看其他用户的数据。
故意暴露其他用户的数据,方便人为制造“误操作”,以检查程序的控制能力。
01 中等管理
/01 试验样例/00 用户数据管理/01 个人数据管理/01 中等管理
Function: ID=[112] Category_ID=[6] Status=[true] Control_Level=[1]

管理属于自己的数据;他用户的数据只显示空栏位,不显示值。
02 严格管理
/01 试验样例/00 用户数据管理/01 个人数据管理/02 严格管理
Function: ID=[113] Category_ID=[6] Status=[true] Control_Level=[0]

管理属于自己的数据;不能查看和操作其他用户的数据。
03 严格只读
/01 试验样例/00 用户数据管理/01 个人数据管理/03 严格只读
Function: ID=[114] Category_ID=[6] Status=[true] Control_Level=[0]

查询属于自己的数据;不能查看其他用户的数据。
02 实用功能
/02 实用功能
Category: ID=[10] Parent_ID=[null] Status=[false] Contains=[0]

实用功能。
Page: [tfw/lpm/01_basic/00_common/frg_result.jsp] (v2015-09-03_10-00.victory_parade)
Result

12
Summary
Failed.
Time
Request Came At:
2024-12-07 19:57:27.649
Process Time Cost:
00:00.005
Process Done At:
2024-12-07 19:57:27.654
Forward Time Cost:
00:00.019
Forward Done At:
2024-12-07 19:57:27.673
Report
Base Name
Process
Description
Exception
tfw.web.lpm.basic.service.AccessControlDataService
getData(...)
OK, got.
tfw.web.lpm.basic.service.AccessControlDataService
getData(...)
OK, got.
tfw.web.lpm.basic.service.AccessControlDataService
checkUser(...)
[X] User not found in user records!
tfw.web.lpm.basic.service.AccessControlDataService
cleanSessionAttributes(...)
Clean OK.
tfw.web.lpm.basic.service.AccessControlDataService
doLogout(...)
Logout OK.
tfw.web.lpm.basic.service.FunctionMgrDataService
getData(...)
OK, got.
tfw.web.lpm.basic.service.CategoryMgrDataService
getData(...)
OK, got.
tfw.web.lpm.basic.service.CategoryMgrDataService
svcDoOptionList(...)
OK.
tfw.web.lpm.basic.service.FunctionMgrDataService
svcDoTreeList(...)
OK.
tfw.web.lpm.basic.service.AccessControlDataService
getData(...)
OK, got.
tfw.web.lpm.basic.service.AccessControlDataService
checkUser(...)
[X] User not found in user records!
tfw.web.lpm.basic.service.AccessControlDataService
cleanSessionAttributes(...)
Clean OK.
tfw.web.lpm.basic.service.AccessControlDataService
doLogout(...)
Logout OK.
tfw.web.lpm.basic.service.AccessControlDataService
svcListUserFunctionTree(request, INNER, ...)
Functions tree OK.
tfw.web.lpm.extended.user_data_mgr.controller.GlobalDataLimitedReaderController
process(...)
12: Failed.