UCenter同步HDWiki及其他APP用户长度限制
2013-01-04 23:04
155 查看
UCenter同步HDWiki及其他APP用户长度限制
今天在项目中遇到一个问题,当UCenter接入了自己开发的APP的时候,在某些状况下(如用QQ邮箱注册),就会超过其字段长度的限制。怎么解决呢?在此,我将我的解决方案分享给大家,大家共同交流,共同学习,少走弯路。本人所使用的环境版本:
Linux版本:万网CentOS5.4
HDWiki版本:5.1
UCenter版本:1.6.0
PHP版本:5.3x
MySQL版本:5.1
1,更改数据库,让用户名直接支持指定长度的字符串(这里以30为参考):
(1)更改UCenter库中uc_menbers表用户名长度限制;
ALTER TABLE `ucenter`.`uc_menbers` MODIFY COLUMN `username` CHAR(30) NOT NULL;
(2)更改HDWiki库中wiki_user表中的用户名长度限制:
ALTER TABLE `hdwiki`.`wiki_user` MODIFY COLUMN `username` CHAR(30) NOT NULL;
2,更改PHP源码:
(1)更改UCenter部分源码:
ucenter/model/user.php文件 约第44行
$len > 15
更改为:
$len > 30
(2)更改HDWiki部分源码:
hdwiki/api/uc_client/model/user.php文件约 第39行
$len > 15
更改为:
$len > 30
hdwiki/control/user.php文件约第43行
{$this->setting['name_max_length'] = 15;}
改为:
{$this->setting['name_max_length'] = 32;}
3,HDWiki登录时“用户名包含敏感字符!”解决
hdwiki/control/user.php 文件约311行:
if(!preg_match("/^[\w\s\d_\x80-\xff]+$/i", $username) || (!$_ENV['user']->check_name($username) && $type>0)){
更改为:
if(!preg_match("/^[\w\s\d_\x80-\xff.@]+$/i", $username) || (!$_ENV['user']->check_name($username) && $type>0)){
即,更改其正则表达式使之支持邮箱登录。
祝你好运~~
相关文章推荐
- solaris10限制用户访问其他目录
- UiTextField对输入的长度进行限制并提示用户还可输入的长度
- UITextField leftView 光标的边距 监听return键 字符长度的限制 以及其他的常用方法
- Android - 和其他APP交互 - 把用户带到其他app
- 通过ucenter整合discuz和phpcms,在discuz修改用户密码,ucenter通知失败,phpcms无法同步更新密码
- 关于视频+音频APP,存在一个用户播放,其他用户就卡死的问题。视频分发?
- Asp.net 与 UCenter 用户同步之实施过程
- 如何限制域用户看到域中其他的用户及计算机信息。是否设置只让用户在只能看到一个OU中的用户
- 修改UCenter用户名长度限制的方法
- Discuze修改用户名长度限制
- 用户输入内容长度限制的异常 分类: python异常 2013-06-24 10:48 335人阅读 评论(0) 收藏
- 今天碰到一个问题,怎么限制用户在固定宽度的input输入框里输入的长度,由此涉猎到了maxlength属性和size属性以及它们的区别。
- 发送用户给其他APP
- 用户输入内容长度限制的异常
- Asp.net 与 UCenter 用户同步之实施过程
- 【iO】解决Xcode项目出现My mac 64-bit/设置允许用户外部资源同步到App/解决CodeSign error: Certificate identity ‘iPhone Distrib
- 和其他App交互(1)发送用户到其他App界面
- oracle和其他数据库对表名、列名的长度限制
- su命令、sudo临时赋予其他用户权限命令、限制root用户远程登录