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

0
Summary
OK.
Time
Request Came At:
2024-12-07 20:11:38.054
Process Time Cost:
00:00.008
Process Done At:
2024-12-07 20:11:38.062
Forward Time Cost:
00:00.045
Forward Done At:
2024-12-07 20:11:38.107
Report
Base Name
Process
Description
Exception
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.basic.controller.AccessControlController
process(...)
0: OK.