我的项目代表客户端 - 服务器应用程序,服务器端对存储过程进行了修改。
程序看起来像addMsg
,getMsgs
等。
但我不知道如何实现用户系统。目前,我有users
表包含登录,密码和其他数据等数据;并且我每次都在程序中比较登录名和密码以授予访问权限!
例如:
CREATE PROCEDURE addMsg
@login text,
@pass text,
@msg text
AS
IF EXISTS(SELECT * FROM users WHERE login=@login AND pass=@pass) THEN
INSERT INTO messages...
END
GO
我认为这不是正确的方法,所以如果有任何其他方法来实现用户系统,我感兴趣。
我必须与用户关联另一个数据,如名字,地址等,所以SQL用户不适合这里。
有什么建议吗?
答案 0 :(得分:1)
首先,您的表定义应如下所示: -
编号,登录,通行证,用户ID,Lastlogin
用户ID,姓名,地址,........
我实际上更愿意为用户检查创建单独的程序,如下所示: -
创建过程UserCheck
@login文字,
@pass文本
如
开始
select * from users where login = @login and pass = @pass
端
在向系统添加消息之前,调用以上UserCheck程序检查是否记录给定登录并通过。如果是,则调用以下程序实际添加消息。
创建过程addMsg @msg文字 如 开始 插入消息.... 端