日期:2014-05-20  浏览次数:20717 次

关于登录界面--用户管理设计方案 求讨论
设计一个登录界面 点击登录以后将用户名跟数据库中进行比较 ,然后进入。在用户管理--即管理员界面 一共三种权限 超级管理员 管理员 工程师 权限递减 所有用户对超级管理员都是透明的 管理员可以添加删除工程师 和修改自己的密码,但不能看到工程师的密码,更不能对其他管理员有任何操作。 新添加用户和修改用户密码时运用对称加密 对密码进行加密 然后存入数据库中 不知道这样设计合理否 请大家不吝赐教 我是新手 刚上手小项目 谢谢

------解决方案--------------------
密码不应该对称加密。一个好的软件是交给用户使用的,这个软件的开发人员也不能随便去解密啊。密码从来不需要保存到数据库,你只要保存密码的散列值就行了。如果说,对于密码,先把前边加上“sp1234”,后边加上csdn,然后将其与自身的逆转字符串拼接,再计算其MD5的值,然后把这个值保存到数据库。要判断用户登录时密码是否正确,做一次这个运算,然后与数据库中的值对比是否一致就行了。
------解决方案--------------------
这个你给设计一个权限表 角色表 权限角色关系表

也就是权限设计那几张表

通过角色去找权限

------解决方案--------------------
实际上通常还要在设计时说明密码锁允许的长度,比如是6~100个字符长。这样可以进一步避免散列碰撞。
------解决方案--------------------
1.就加密问题,一般密码验证方面大多使用非对称加密,这样可以随机生成加解密密钥,并将加密密钥传给对方。
2. 你需要考虑在哪里验证密码的问题,一般应在服务器上验证密码,这样的过程如果是非对称加密,就应该是:客户请求-> 服务器送加密密钥->客户使用密钥加密用户名密码->服务器验证。
3. 如果使用对称加密,服务器和客户端都必须使用相同的密钥,密钥的保密工作就不大好处理,不过对称加密的速度快于非对称加密,因此对于大量的数据通信,一般采用两种方式相结合,即验证时使用非对称加密,而通过后,服务器生成一个对称加密的密钥给客户端,后期的数据通信采用对称加密方式。