请问可以直接用户名登录吗?非邮箱格式的!

小白一枚,不懂怎么设置,如果有大虾能告知一下,万分感激
目前装完ubuntu服务器后,必须是xxxx@xx.com格式才能登录,新建用户的时候也是如此,希望能以单纯xxx的用户名格式登录。。但是找了半天没找到设置的地方,球告知!非常感谢

1 个赞

我是先用邮箱格式新建用户,然后在数据库里面把这个用户名后面的邮箱格式去掉,就可以直接用用户名登陆了!:grin:

1 个赞

把 seahub\seahub\base文件夹下的 accounts.py文件的566行代码改掉,改成这段: prog = re.compile(r"(^[a-zA-Z0-9_.±]+[a-zA-Z0-9-@]+[a-zA-Z0-9-.]+$)", ;这句话是判断用户名格式的。

1 个赞

感谢楼上两位大虾的热心回答~

prog = re.compile(r"([1]+[a-zA-Z0-9-@]+[a-zA-Z0-9-.]+$)", ;
只是改了这个后还是提示邮箱格式不对,请问该怎么破??请问是不是做错什么了?


  1. a-zA-Z0-9_.± ↩︎

你服务器程序有没有重启?

回dalao,重启了服务和系统都是一样的,依然提示输入的邮箱格式不对。。
另外那个语句(虽然我完全不知道是什么意思)的结尾有个“;”,如果去掉该;时运行./seafile.sh start就能启动,而加入;后就提示启动失败了。。。:stuck_out_tongue_closed_eyes:完全不懂什么意思~

优化一下,把那一行改成这样

prog = re.compile(r"(^[A-Za-z0-9]+$)",

以上正则表达式的意思是
只允许使用2种类型的字符

不区分大小写的字母 和 数字
也可以只使用数字或只使用字母

总结一下:
以下操作仅仅针对开放了注册功能,从注册界面注册的方式有效
把566行或者附近的这串代码改成如下形式:
prog = re.compile(r"(^[A-Za-z0-9]+$)",
注意,上面那一行是完整的代码,包括末尾的英文状态下的那个逗号, 都要复制上去
这行代码里面的正则表达式部分
^[A-Za-z0-9]+$)
表示允许匹配2种类型的字符
1.不区分大小写的字母
2.数字
3.数字和字母的组合(不区分大小写)
4.纯数字或纯字母(不区分大小写)
5.不限制输入的长度

如何生效?
保存后,把同目录下的accounts.pyc文件删除,该文件是缓存,为了避免无意义的麻烦和意外,直接删除即可。然后重启服务端,直接注册即可,可以看见已经生效。下面附上截图

看到没,用户名 1

如果是管理员手动添加用户的界面,也是如法炮制,只是不知道是该改哪个文件,需要找一下,找到相关文件后,直接修改对应代码即可。这个我还在找

4 个赞

开源的嘛,后台源代码里面修改即可:
社区办也是可以修改的
seahub 目录下面的form.py 里面有邮箱判断函数
AddUserForm里面的email = forms.emailField() 改成email = forms.CharField(max_length=20) 即可,
QQ%E5%9B%BE%E7%89%8720190426130808 !