2012-10-21 92 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

相關問題