用姓名做用户名,如果有重名的该怎么办? 想不出有什么解决办法
这属于设计缺陷,当用户名与密码都一样时,如果没有第三个固定变量是没法判断唯一性的,所以只能在注册时做姓名唯一的检查
客户要求使用用户名登陆,怎么办?
就是使用姓名登录
向客户要确保没有重复姓名
注册的时候加入验证,如果有重复的告诉用户已经有这个名字了,再挑一个把叫XXX123之类的
建议用户使用邮箱注册,登陆后可以关联姓名,要是已经有人关联过了,那么不好意思再挑一个吧,要不就老老实实用邮箱
只好想其他的办法了,感谢帮忙想办法,thanks
真心没办法
用户信息里面有没有身份证字段?如果有的话,登录时进行身份证判断,第二个是,你用户名一样了,密码肯定不一样啊,也可以区分出来啊?
按你这样说要是我输错密码,输对了你的密码呢?
@阿 牛:就算你用不同的用户名他也可能出现你说的那种情况啊
设计上有问题吧,必须保持某一个标志唯一...用姓名登陆是非常了不和谐的,除非客户说不给同名,不然设计上是不可能的
是的,只好给客户解释了
这个没办法实现吧,必须得要个有效的而且还是唯一标示的,要不就是在注册的地方你限制死,不让用户名重复。检测姓名的唯一
是的,只好给客户解释了
这个不需要向客户解释,客户比程序员聪明多了,碰到重名的,直接就是
四川张山,北京张山。
电影导演都懂得宋兵甲、宋兵乙...
本身就是逻辑问题,居然还..............
真心不知怎么说好了。
给每个人一个独立的登录页面,这样就能区分了,
这个方法....
@依然---编程: 价格参数就ok了
客户要求姓名登陆也不是不可以。关键是你要给予他另外一个区别开来得标志。比如可以关联用户的单位名称、门牌编号等等。还是跟用户好好沟通,用户也是人,给他一个变通的方法,他也不至于非要怎么怎么样。
恩,得解释下
首先,对所有用户有一个唯一标识的UID,用于区分所有用户
其次,将用户的密码和UID通过某种算法结合在一起,这样用户的密码本身并没有变化,但是在验证密码的时候就必须要通过这个算法检测UID,当有多个同名用户时,就遍历数据库中所有该用户名所对应的的密码+UID组合,如果无法找到对应的组合才提示密码错误。PS:相同的密码和不同的UID组合再相同的几率几乎为0
好像是个可行的办法
@依然---编程: 但是允许重名的话使用姓名登录的确是一个不好的设计。我的解决方法也只是权宜之计。最好的做法还是只能通过唯一的标识符UID(可以是用户名、邮箱等等不允许重复的字段)登录
@飞鸟_Asuka: 恩,使用姓名始终不好
@依然---编程: 我现在想想,咋感觉就是通过密码来判断呢,