Liferay屏幕名称的验证条件

2012年10月16日 Liferay 暂无评论 阅读 12,727 views 次

以Liferay 6.1.1 CE版为说明。默认验证条件如下,并按照下列顺序验证

1、不能包含等于cyrus、postfix,并且不能包含_、/两个符合。代码类DefaultScreenNameValidator中的限制。此限制可以通过使用hook工程来写一个NameValidator类进行限制某些特殊字符,如果对DefaultScreenNameValidator里面的定义的条件都不需要,并且没有其他特殊字符需要过虑,可以简单的修改portal.properties属性。

默认如下:

users.screen.name.validator=com.liferay.portal.security.auth.DefaultScreenNameValidator
#users.screen.name.validator=com.liferay.portal.security.auth.LiberalScreenNameValidator

修改为:

#users.screen.name.validator=com.liferay.portal.security.auth.DefaultScreenNameValidator
users.screen.name.validator=com.liferay.portal.security.auth.LiberalScreenNameValidator

下面的LiberalScreenNameValidator只进行了非空验证,其他没有进行。

2、不能是全数字,在portal.properties里面 users.screen.name.allow.numeric=false设置限制;这里如果设为true,则可以使用全数字,但不能和userId相同。

3、屏幕名称的组成只能是数字、26个英文字母大小写、"-"(减号)、"_"(下划线)、"."(英文点)组成。

4、不能是匿名的名称:"anonymous-guest"、"guest"、"ANONYMOUS"、"<anonymous>"。

5、同一个company下面,不能有重复的屏幕名称。

6、同一个company下面,不能有friendly("/"+屏幕名称)相同的屏幕名称。

7、friendly必须是有效的。条件为长度要大于2小于255,必须以"/"开始并且不能以此为结尾,不能包括"//"。整个字符串的组成必须是以英文字母(大小写)、数字、"-"、"."、"%"、"+"、"*"、"/"、"_"组成。

8、不能是liferay保留的屏幕名称。具体的设置在portal.properties里面的admin.reserved.screen.names。默认为空。

整个验证过程的代码在UserLocalServiceImpl中的validateScreenName方法。

用户头像

给我留言

您必须 登录 才能发表留言!

Copyright © IT人生录 保留所有权利.   主题设计 知更鸟 滇ICP备16001547号

用户登录

分享到: