How to make Password column in Sql Server 2008 case sensitive?
在登录窗口中,如果密码不匹配,则必须显示错误。我已经完成了所有的编码,但问题出在SQL Server密码列中,它不区分大小写,我不知道如何实现这一点。
如果用户有
我的表架构是
create table Users
(
UserId int identity constraint PK_UserID primary key,
RoleId int constraint FK_Role_Users_RoleID foreign key references Roles(RoleId),
Username nvarchar(256) not null constraint U_Users_Username unique ,
Password nvarchar(256) not null
)
号
这就是一个排序规则可以发挥作用的地方。
正如其他人指出的,请注意存储密码在纯文本中根本不是一个好主意。
1 2 3 | SELECT [Password] FROM [Users] WHERE [Password] COLLATE Latin1_General_CS_AS = 'PaSSWord' |
另请参见:
http://msdn.microsoft.com/en-us/library/ms144250.aspx
http://www.sqlservercentral.com/blogs/rocks/2012/01/09/revised-difference-between-collation-sql_latin1_general_cp1_ci_as-和-latin1_general_ci_as/