在登录窗口中,如果密码不匹配,则必须显示错误。 我所做的所有编码,但问题是在Sql Server密码列中,它不区分大小写,我不知道如何实现这一点。
如果用户有密码abc09Fd
并且他以ABC09fD
格式输入密码,则SQL Server会让他登录。如何解决这个问题。
我的表架构是
创建表用户
(
UserId int identity constraint PK_UserID主键,
RoleId int约束FK_Role_Users_RoleID外键引用角色(RoleId),
用户名nvarchar(256)非空约束U_Users_Username唯一,
密码nvarchar(256)不为null )
答案 0 :(得分:1)
这是整理可以发挥作用的地方。
正如其他人所指出的,请注意存储密码
在纯文本中远非一个好主意。
SELECT [Password]
FROM [Users]
WHERE [Password] COLLATE Latin1_General_CS_AS = 'PaSSWord'
另见:
http://msdn.microsoft.com/en-us/library/ms144250.aspx
http://blog.sqlauthority.com/2007/04/30/case-sensitive-sql-query-search/