创建认证逻辑的最佳做法的跨平台移动应用程序

问题描述 投票:0回答:1

我想开发使用Xamarin为Visual Studio(2015年),这基本上是从一个SQL Server数据库中读取场,并安排他们在一个简单的用户界面有点跨平台。

该数据库只得到了一个表,用户,一些列的用户信息,再加上含有用户名和密码,用户应利用登录并查看其信息的两个人。

我想用类似的方式在System.Data.SqlClient.SqlConnection类实现一个简单的SQL查询:

SELECT TOP 1 *
FROM Users
WHERE Username = @username AND Password = @password

或者,也许调用这样的一个过程 Easiest way to validate user in stored procedure? 与System.Data.SqlClient.SqlCommand

...然后保存,如果登录发生,在一些变量中的字段,然后将它们链接到界面上的文本框中。

我不知道这是否是做了正确的方法,它看起来像我甚至无法实现REST服务的登录,因为只有一个可以访问数据库本身的“大师”的用户。

我用上面的逻辑看到的第一个问题是我怎么能检查用户是否已经登录,如果太多的时间已经过去了,没有会话或令牌?

我的问题是,是否有人有一些很好的教程,指导学习,也许有一些很好的例子,这样我就可以解决这个认证/登录困难吗?

(对不起任何错误,我是新来这个话题,想学)

c# rest authentication xamarin login
1个回答
0
投票

是不是真的有这个最佳实践。首先,你被参数化的SQL查询做正确的事情。你需要确保没有SQL注入攻击。但基本上你验证方式是由你。您可以看看OAuth的,如果你要使用的行业标准在网站登录。

但是,在你的情况,你可能想简单地保持用户名的静态辞典的记号。因此,当用户登录时,只需添加一个GUID的字典,并给该GUID给用户。然后,在随后的电话,你会知道用户是谁,因为他们将令牌传递给你在每次调用。只要确保你从字典中删除这些过期的令牌说24小时后。

以上只是一个警告。我没有意思,有认证没有最佳实践建议。我只是意味着认证本身可以任意数量的方式来完成,这是因为你已经有了一个“用户”表,它好像你要验证受此驱动。

下面是关于认证和安全的良好措施的好article。还有其他一些措施,如多因素身份验证,可以添加到现有的认证方案,以提高安全性。

© www.soinside.com 2019 - 2024. All rights reserved.