2012-10-21 55 views
0

我已经创建了一个用于建筑行业的人工/时间保持应用程序,它由一个WinForms客户端,员工实际进出时钟,一个WCF Web服务时钟输入和输出事件并向客户端提供数据,以及用于配置,管理和报告的后端WinForms部分。这是使用C#的.NET。限制登录到一些特定设备的网络应用程序

我正在寻找还写一个ASP.NET Web客户端,使其更灵活,意图是从平板电脑和/或现场手机使用它。

所以,现在背景已经不复存在,这里有一个要求,我试图找出完成的最佳方法。

我不希望员工只能从他们的房子或从他们的个人电话进出出入;他们应该使用公司拥有的设备计时进出,福尔曼为了该特定目的而将其保存在卡车中。与此同时,我想登录到Web应用程序,只需输入一个4位数的PIN号码,然后单击“时钟输入”或“时钟输出”(对建筑行业的员工没有任何影响,但有些人尝试尝试尝试在移动设备上输入用户名和密码)。

限制访问这个Web客户端到一些特定的设备授权的最佳方式是什么?我考虑尝试使用MAC地址过滤器,并且我阅读了关于使用客户端证书来限制哪些设备可以访问Web服务,但有没有更好的方法?我的意思是,如果你得到那个罕见的混凝土修整工,他只是一个书呆子,并且知道如何从公司的设备上拿走它,那么客户证书是不是可以复制到某人的私人电话中?

是否有任何其他方式从Web应用程序,您可以唯一标识一个设备,并将其与授权设备列表匹配?

+1

你可以只给工头,他需要一个用户名/密码或PIN在webapp甚至可以访问之前先输入。任何使用MAC地址的东西都很脆弱。我刚才的另一个想法是,你将如何防止人们告诉他们的朋友他们的针,并让他们使用它的时钟。 – Dharun

+0

@Dharun我第一次有你的领班先登录系统的意见,这减少了他人从工作区外登录的烦恼。别针确实证明了一个问题,因为他们的伙伴都在登录。我怀疑你可以逃避,但让他们进入他们的SSN可能会阻止人们让他们的朋友登录他们。我知道我不会给我的朋友或同事我的SSN。 – peroija

+0

无论谁登录的时候,我想仍然限制访问某个设备的网站,并且需要知道完成该操作的最佳方式 – Jim

回答

2

在ASP.net中,您无法获取客户端网络适配器的MAC地址。因此,您无法指望为“有效”设备定义白名单的MAC地址。但是,您可以使用其他一些技巧:

1-您可以找出您的客户端设备的IP地址,并限制它们,如果它们没有得到您的授权。

2-您也可以检测操作系统,计算机名称和浏览器名称以及屏幕分辨率,您可以在这种情况下使用它们。

3-您可以通过这种方式保留一个特定用户和控制设置的cookie数量标志。

4-您可以使用Windows身份验证来防止用户从基于表单的认证(当然,如果你的网络是基于活动目录)

+0

我认为#1和#4对于我的需求是不可能的,因为我需要支持Android和IOS设备,并且它们可能会在单元网络上,因此IP可能会经常变化。我喜欢采用操作系统,计算机名称和屏幕分辨率的建议,也许还有其他一些我可以访问的属性,并从中获得某些关键。它不是超级安全的,但可能足够满足我的需求。 – Jim

相关问题