Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF中的自定义授权_C#_.net_Wpf_Security_Identity - Fatal编程技术网

C# WPF中的自定义授权

C# WPF中的自定义授权,c#,.net,wpf,security,identity,C#,.net,Wpf,Security,Identity,我正在用C#和.NETFramework 4.6开发一个WPF应用程序 我需要实现安全模块,以允许用户登录应用程序。这些用户将具有角色,我将使用这些角色启用或禁用应用程序上的功能 我还需要连接到Active Directory才能在我的应用程序上使用其用户。用户还将使用应用程序的角色 我不想重新发明轮子。在.NET上有这样的框架吗 我已经找到了ASP.NET标识,但我认为我可以在WPF应用程序中使用它 我的英语不好,我不知道如何命名这种框架来在谷歌上搜索它 我在文章中发现了一些有趣的东西。这种方

我正在用C#和.NETFramework 4.6开发一个WPF应用程序

我需要实现安全模块,以允许用户登录应用程序。这些用户将具有角色,我将使用这些角色启用或禁用应用程序上的功能

我还需要连接到Active Directory才能在我的应用程序上使用其用户。用户还将使用应用程序的角色

我不想重新发明轮子。在.NET上有这样的框架吗

我已经找到了ASP.NET标识,但我认为我可以在WPF应用程序中使用它

我的英语不好,我不知道如何命名这种框架来在谷歌上搜索它


我在文章中发现了一些有趣的东西。

这种方法在桌面应用程序中没有多大意义。用户通过操作系统进行身份验证,角色也根据AD分配。这意味着通过询问线程的当前主体,您将获得所有信息。但是,如果您的应用程序试图通过编程方式限制对某些资源的访问,但应用程序旁边的用户仍然可以访问这些资源,那么您实际上没有任何安全性。换句话说,资源级别的安全性应该独立于您的应用程序,使用ACL和其他可用的方法来实现。我必须在桌面应用程序中解释所有这些,因为99%运行应用程序的计算机不在域内。广告仅用于验证用户的身份,而不是管理应用程序中的角色。提示问题:您将如何存储授权(角色)信息,以便应用程序读取授权(角色)信息,但用户无法更改授权(角色)信息?这就引出了许多关于您将使用何种加密(对称与非对称)的具体问题以及钥匙存放的地方。根据您的答案,可能的方法的实现会有很大的不同。这就是为什么我认为你找不到任何可以使用的东西。现在的问题太笼统了。您必须详细说明如何管理授权。特别是,有一个工作站、一个用户和这个加密的数据库。数据库是如何进入工作站的?您是否计划一些管理员也在同一工作站上使用相同的应用程序来提前设置应用程序?或者更确切地说,数据库是应用程序分发的一部分,这就是您,许可证所有者,提前设置数据库,用户只需阅读即可。或者是一些不同的东西?没有这样重要的背景,答案就没有了。这种方法在桌面应用程序中没有多大意义。用户通过操作系统进行身份验证,角色也根据AD分配。这意味着通过询问线程的当前主体,您将获得所有信息。但是,如果您的应用程序试图通过编程方式限制对某些资源的访问,但应用程序旁边的用户仍然可以访问这些资源,那么您实际上没有任何安全性。换句话说,资源级别的安全性应该独立于您的应用程序,使用ACL和其他可用的方法来实现。我必须在桌面应用程序中解释所有这些,因为99%运行应用程序的计算机不在域内。广告仅用于验证用户的身份,而不是管理应用程序中的角色。提示问题:您将如何存储授权(角色)信息,以便应用程序读取授权(角色)信息,但用户无法更改授权(角色)信息?这就引出了许多关于您将使用何种加密(对称与非对称)的具体问题以及钥匙存放的地方。根据您的答案,可能的方法的实现会有很大的不同。这就是为什么我认为你找不到任何可以使用的东西。现在的问题太笼统了。您必须详细说明如何管理授权。特别是,有一个工作站、一个用户和这个加密的数据库。数据库是如何进入工作站的?您是否计划一些管理员也在同一工作站上使用相同的应用程序来提前设置应用程序?或者更确切地说,数据库是应用程序分发的一部分,这就是您,许可证所有者,提前设置数据库,用户只需阅读即可。或者是一些不同的东西?没有这一重要背景,就没有答案。