GVKun编程网logo

在C#中实现传递身份validation(c#传递方法)

14

本文将带您了解关于在C#中实现传递身份validation的新内容,同时我们还将为您解释c#传递方法的相关知识,另外,我们还将为您提供关于.htaccess通过虚拟主机的基本身份validation?

本文将带您了解关于在C#中实现传递身份validation的新内容,同时我们还将为您解释c#传递方法的相关知识,另外,我们还将为您提供关于.htaccess通过虚拟主机的基本身份validation?、AD /表单身份validation、Apache全球基本身份validation、ASP.NET / IIS安全性(Windows身份validation)的实用信息。

本文目录一览:

在C#中实现传递身份validation(c#传递方法)

在C#中实现传递身份validation(c#传递方法)

我正在开发基于TcpClient / TcpListener的客户端服务器应用程序。 现在我已经到了需要authentication用户的地步。 我可以在服务器端使用PrincipalContext-Class,并从客户端请求用户名/密码/域,但我不想通过networking发送凭据。 另外,我不想再次询问用户的凭据。 所以,我知道支持传递身份validation的Citrix Receiver。 它使用当前login的用户,不要求任何凭证,并根据服务器对用户进行身份validation。 它只是工作。

我如何在我的应用程序中做到这一点? 我想过一些可以发送到服务器的令牌,但我找不到任何解决scheme。

VS2010嵌套msi安装程序

我在哪里可以find在.NET中开发的Windows服务的生命周期的详细视图?

C#/ .net:如何将联网打印机添加到本地PC帐户?

Windows批处理脚本中的文件/文件夹select器对话框

testing鼠标指针在哪个屏幕上

将NetworkStream包装在NegotiateStream中 ,并在客户端和服务器上调用适当的NegotiateAs...方法。

客户端可以指定允许的模拟级别,服务器可以指定它需要的级别(为了确定客户端身份,最低限度地Identification ,但是如果您需要访问本地或网络资源作为客户端,则还可以指定Impersonation ,与正确的网络配置, Delegation )。

通过身份验证后,服务器可以使用NegotiateStream的RemoteIdentity属性确定客户端的身份和/或模拟。

正如我在我的评论中提到的,我不知道Citrix如何影响这个设置(从来没有使用它),但是如果它对于应用程序基本上是完全透明的,并且所有东西都使用标准的Windows凭据,那么这应该起作用。

.net框架确实有diffie-hellmann密钥交换的功能:

http://de.wikipedia.org/wiki/Diffie-Hellman-Schl%C3%BCsselaustausch

http://www.codeproject.com/Articles/24632/Shared-Key-Generation-using-Diffie-Hellman

如果您正在编写应用程序的客户端和服务器部分,则可以对用户的凭证进行加密,以便通过网络传递并在另一端进行解密。

假设在客户端机器上,恶意用户可以从应用程序中提取加密密钥(使用字符串或类似方法),那么对称加密就不适用。 因此,不对称(公私)加密似乎是合适的。 生成一对密钥,并且服务器的密钥应该保持私密(并且只能在服务器上),并且客户机的密钥可以包含在客户机上的应用程序中。 然后,从应用程序中提取密钥并不重要,因为凭据只能使用服务器上的秘密和安全私钥解密。 这门课为你做了大部分的基础工作。

.htaccess通过虚拟主机的基本身份validation?

.htaccess通过虚拟主机的基本身份validation?

我想知道是否可以根据.htaccess文件中的虚拟主机URL设置条件http基本authentication要求。

例如,我想要做的是让mysite.com和test.mysite.com在相同的目录中运行相同的代码库,但密码保护test.mysite.com。 这将设置这种方式,以便我不需要分支我的代码,因为我的应用程序代码可以看到它提供的哪个虚拟主机/ url,并select数据库来提供内容。

Apache .htaccess URL重写

htaccess使用参数redirecturl

符号链接和索引文件无法正常工作的.htaccessconfiguration

find服务器上的所有htaccess文件

我怎么能redirect到一个目录中的所有文件到另一个目录?

你可以使用mod_setenvif和mod_auth模块来排序。 使用SetEnvIfNoCase指令设置哪个主机受密码保护。 您需要一些额外的指令来满足访问:

# Check for the hostname here SetEnvIfNoCase HOST ^test.mysite.com.?(:80)?$ PROTECTED_HOST

然后在Directory块(或刚刚打开),你有你的身份验证的东西安装,如下所示:

AuthUserFile /var/www/test.mysite.com/htpasswd AuthType Basic AuthName "Password Protected"

现在的要求/满足的东西:

Order Deny,Allow Satisfy any Deny from all Require valid-user Allow from env=!PROTECTED_HOST

这将使得任何不匹配^test.mysite.com.?(:80)?$主机都可以访问,而不需要auth( Allow from env=!PROTECTED_HOST ),否则我们需要一个有效用户( Require valid-user )。 Satisfy any确保我们只需要其中的一个,无论是允许还是要求。

我在执行Jon的解决方案时遇到问题:虽然我对Apache conf和正则表达式非常熟悉,但是身份验证总是被触发。 从一个快速的分析看来,就像是Allow from env=!PROTECTED_HOST行的Allow from env=!PROTECTED_HOST没有启动。

但是我发现了另一个对我来说更安全的解决方案:

我为两个域指定了相同的文档根目录(这是完全允许的)创建了两个虚拟主机。 在其中一个虚拟主机中,我添加了基本身份验证指令(直接进入vhost指令块)。

奇迹般有效。 我有一个更好的感觉,这是非常安全的 – 没有任何风险忽略任何细节的正则表达式将打开入侵者的大门。

<VirtualHost *:80> serverName www.mysite.com DocumentRoot "/path/to/common/doc/root" <Directory "/path/to/common/doc/root"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> serverName protected.mysite.com DocumentRoot "/path/to/common/doc/root" <Directory "/path/to/common/doc/root"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all AuthUserFile /path/to/htpasswd AuthName "Password please" AuthType Basic Require valid-user </Directory> </VirtualHost>

这里有一个类似于Jon Lin提出的解决方案,但是使用RewriteCond来检查主机名:

RewriteEngine On RewriteCond %{HTTP_HOST} =protected.hostname.com RewriteRule ^.*$ - [E=DENY:1] AuthUserFile /path/to/htpasswd AuthName "Password please" AuthType Basic Order Deny,Allow Satisfy any Deny from all Require valid-user Allow from env=!DENY

总结

以上是小编为你收集整理的.htaccess通过虚拟主机的基本身份validation?全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

AD /表单身份validation

AD /表单身份validation

我正在开发一个主要在内部使用的应用程序,并希望知道如何在不提示用户login的情况下自动对用户进行身份validation。

但是,当用户没有自动authentication(即他们已经通过互联网连接),我想显示一个表单,将validation用户对AD

谁能帮忙?

C#.NET应用程序在64位环境中运行时抛出ODBC驱动程序不匹配错误

如何检查是否有默认打印机(Windows)?

为什么我的WPF应用程序不显示?

与SystemParametersInfo和布尔值pvParam参数混合

C#桌面应用程序的哪些框架适用于Windows XP或更高版本?

静态string使用File.ReadAllText

是否有一个原因MailItem.display方法的z顺序行为不同机器?

从Perl调用.NET

为什么在Windows7(.net 3.5)中运行的应用程序在Win8(.net4.5)中不起作用

找出如果一个进程中断了当前进程

就ASP.NET而言,您希望将Windows和表单身份验证混合使用。 没有简单的解决方案。 已经在这里讨论了可能的解决方法:

混合Windows身份验证与表单身份验证

Apache全球基本身份validation

Apache全球基本身份validation

我有几个虚拟主机的Apache Web服务器

我希望他们都是基本授权(AuthType Basic)

但是 – 这看起来Auth derective只适用于<Location>和<Directory> (在虚拟主机部分内)

有没有办法一次为所有的虚拟主机全局设置基本身份validation?

Jira,Tomcat和JBoss在Apache之后

使用PHP我如何做一个重写规则?

Apache目录closures – 站点中断

提高创build用户帐户的Python CGI脚本的安全性

Bootstrap glyphicons(fonts / ****。woff)无法加载

PHP致命错误:类''MongoClient''未find

Apache error.log中没有出现404错误

当客户端closures连接到Django / Wsgi应用程序时,如何防止“IOError:写入数据失败”?

如何在PHP中获取http请求源

Debian Dockerconfiguration文件

全局配置(Debian上的httpd.conf或apache2.conf)中设置的任何<Directory>或<Location>都将应用于所有VirtualHost,因为全局配置是按定义共享的 。

共享一个<Directory>位置非常困难,因为您的VirtualHosts可能有不同的DocumentRoot 。 但是<Location />是一个很好的目标,所有的虚拟主机都会有一个''/''url。

所以,如果你把它放在全局定义的<Location />中,它将起作用,除非一个VirtualHost上的<Location />正在使用某个指令去除Auth。

总结

以上是小编为你收集整理的Apache全球基本身份validation全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

ASP.NET / IIS安全性(Windows身份validation)

ASP.NET / IIS安全性(Windows身份validation)

这可能会变成一个doozie。

我正在ASP.NET中开发一个应用程序,放在我们公司的内部网站上。 我已经提交了关于安全性的规范,不知道如何去做。

第一部分:应用程序使用Windows身份validation。 这部分看起来很简单, 我在pipe理工具中打开IIS,右键单击我的网站的属性,属性并选中“集成Windows身份validation”。 但是,我不知道如何pipe理哪些人可以访问我的网站。 我认为这应该在数据库级别照顾。 这是Q#1

第二部分 – 我必须实现以下场景的过程:用户“简”可以login到我们的networking,但没有权利我的应用程序。 用户'鲍勃'有权使用我的应用程序。 Bob需要能够坐在Jane的电脑(在她的networking帐户下),但是能够将他的凭证input到我的应用程序中并使用它(尽pipeJane已经login到本地机器和networking)。 这是Q#2

在Linux上最好的沙盒Apache方法

有没有办法强制Apache返回404而不是403?

确定WindowsIdentity实例的嵌套组

EFS(encryption文件系统):安全问题:硬盘上不存储与密码相关的哈希值

在Multi-Dev的Nginx设置中保护密码

任何帮助,大方向或build议,将不胜感激。 中奖彩票号码将更加赞赏。

谢谢,

贾森

根据LDAPvalidation密码

枚举权限(本地安全策略)

使用JNA通过Java恢复到Windows目录的inheritance

在Rails中,有什么可能导致用户有另一个用户的会话?

Windows Azure是否可以轻松抵御拒绝服务攻击?

您正在寻找ASP.NET中的Windows身份验证和授权

如何在ASP.NET中使用Windows身份验证

认证/授权解释

如何在ASP.NET中实现Windows身份验证

第二部分…你是对的,那很难。 您将需要推出自己的自定义安全提供程序。 您将拥有一个登录页面,然后自己检查Active Directory。 来自MSDN

ASP.NET还支持使用绕过IIS身份验证的Windows身份验证的自定义解决方案。 例如,您可以编写一个自定义的ISAPI筛选器,以根据Active Directory检查用户的凭据。 用这种方法你必须手动创建一个WindowsPrincipal对象。

你在这里有认证授权的要求。

认证 :确认身份的行为

授权 :将身份与特权相关联的行为(例如,读取/写入/删除)

如果您想要“自动注册”功能,Windows身份验证非常有用。 该网站将通过ID“认识”用户而不必登录。

用户需要从多个位置登录意味着您必须实现一个登录页面。 这将满足您的要求,其中一个用户可以坐在另一个工作站上登录。

您将需要根据Windows域对用户进行身份验证。 这可以使用自定义成员资格提供程序完成。 这是一个演练:

http://msdn.microsoft.com/en-us/library/ms180890(v=vs.80).aspx

这将允许您提供一个登录页面,用他们的域名和密码验证用户身份。 这将验证用户身份的用户将存储在HttpContext.User 。 您也可以在数据库中维护一个用户列表来存储授权数据。

也发现这个 – 对于那些在同一条船上的人来说,这是一个相当不错的资源:

在ASP.NET中混合形式和Windows安全性

http://msdn.microsoft.com/en-us/library/ms972958.aspx

今天的关于在C#中实现传递身份validationc#传递方法的分享已经结束,谢谢您的关注,如果想了解更多关于.htaccess通过虚拟主机的基本身份validation?、AD /表单身份validation、Apache全球基本身份validation、ASP.NET / IIS安全性(Windows身份validation)的相关知识,请在本站进行查询。

本文标签: