簡體   English   中英

使用Windows身份驗證的Windows平板電腦應用程序

[英]Application for Windows tablet using Windows Authentication

我們擁有一個相當大而復雜的業務線系統,該系統具有多個桌面應用程序,並且在內部網中以及外部都為系統的外部用戶部署了3或4個Web門戶。

在項目即將結束時,我們收到了一些其他更改請求,以添加3個應該在某些Windows 8.1 Pro Dell Tablets上運行的小型應用程序。 給我們的要求之一是使用Windows身份驗證來標識應用程序的當前用戶。 我們構建的系統在其核心包含一個SQL Server數據庫,因此這3個新的平板電腦應用將必須提供來自那里的數據。

我正在嘗試找出設計和開發這三個小型應用程序的最佳方法。

一方面,我可以選擇開發Windows Store應用程序。 我將無法使用實體框架(就像我在某些桌面XAML應用程序中所做的那樣),但是我可以構建一些我可以使用的RESTful Web API。 但是,我讀到Windows Store應用程序不能輕松地與Windows身份驗證結合使用(有人說完全不可能在WinStore應用程序中使用Windows身份驗證),因此對於我們來說,這似乎是一個主要的阻止因素。

另一方面,我可以構建一個常規的WPF應用程序,使我可以毫無問題地使用EF和Windows身份驗證。 但是我會缺少用於平板電腦的Windows應用商店應用程序的輕擊,滑動,捏合和所有其他出色的觸摸功能,我相信客戶會期望這些功能。 有用於WPF的Telerik的UI,但這會增加客戶端的成本,而且我甚至不確定該API是否會為我提供WinRT中可用的全部功能。

有沒有人找到一種結合兩全其美的方法?

編輯:經過進一步研究,我發現Windows Store應用程序可以被側載,這是繞過Windows Store的一種方式。 因此,現在我只需要確定旁加載的應用程序是否可以在Windows 8 Pro平板電腦上使用Integrated Security。

有兩種解決方案:

1)使用Azure AD身份驗證庫(ADAL):ADAL客戶端使應用程序開發人員可以輕松地向雲或本地Active Directory(AD)進行用戶身份驗證,然后使用Obtenir訪問令牌來保護API調用。 ADAL具有許多使開發人員更容易進行身份驗證的功能,例如異步支持,令牌可存儲訪問令牌令牌和刷新的可配置緩存,自動刷新令牌到期,訪問令牌和刷新令牌可用時等等。 通過處理最復雜的問題,ADAL可以幫助開發人員將精力集中在業務邏輯實現和輕松安全的資源上,而無需成為安全專家。 在這里您將找不到如何使用ADAL https://www.nimbo.com/blog/use-azure-active-directory-adal-windows-store-app/連接到AD的步驟

2)使用.Net Framework。 使用以下方法在本地創建àWCF服務:

public bool AuthenticateUserService(string path, string user, string pass)
{
    DirectoryEntry de = new DirectoryEntry(path, user, pass, AuthenticationTypes.Secure);
    try {
        //run a search using those credentials.  
        //If it returns anything, then you're authenticated
        DirectorySearcher ds = new DirectorySearcher(de);
        ds.FindOne();
        return true;
    } catch {
        //otherwise, it will crash out so return false
        return false;
    }
}

然后您可以通過Windows Store應用使用此服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM