こんにちは、AngularJs と c# wcf restful サービスを使用して小さな Web アプリを構築しています。提供されたユーザー名/パスワードが正しいかどうかを検証する最小限のコードを含むストアド プロシージャを持つログイン モジュールがあります。コードは次のとおりです。
alter procedure sp_loginTable
(
@username varchar(50),
@password varchar(25),
@output bit out
)
as
declare @queryedUsername varchar(50)
declare @queryedPassword varchar(25)
select @queryedUsername =username,@queryedPassword=password from userLoginTable where username='surya'
if ((@queryedUsername=@username) and (@queryedPassword=@password))
SET @output=1
ELSE
SET @output=0
GO
そして、テーブルに保存されているパスワード「123456aA」があります.入力として「123456aa」を指定すると、コードは常に1を返します..そして、人々が文字列比較に関するさまざまな解決策を提案した多くのスタックオーバーフローの質問を検索しましたが、コード非常に大きい..
文字列比較は、次のように記述すれば、C# で簡単に実装できます。
string nameone = "123456aA";
string nametwo = "123456aa";
Console.WriteLine(nameone.Equals(nametwo));//returns false
適切な文字列比較を行う equal メソッドがあります。
ログイン検証をdataAccessLayerに移動するのが最善ですか、それともストアドプロシージャで検証を実行する必要がありますか..c#には文字列を処理する組み込み関数があるため、この検証のためだけにストアドプロシージャに大量のコードを記述したくないスムーズに比較..
貴重な情報を提供してください..
ありがとう