本文将带您了解关于在C#中实现传递身份validation的新内容,同时我们还将为您解释c#传递方法的相关知识,另外,我们还将为您提供关于.htaccess通过虚拟主机的基本身份validation?
本文将带您了解关于在C#中实现传递身份validation的新内容,同时我们还将为您解释c#传递方法的相关知识,另外,我们还将为您提供关于.htaccess通过虚拟主机的基本身份validation?、AD /表单身份validation、Apache全球基本身份validation、ASP.NET / IIS安全性(Windows身份validation)的实用信息。
本文目录一览:- 在C#中实现传递身份validation(c#传递方法)
- .htaccess通过虚拟主机的基本身份validation?
- AD /表单身份validation
- Apache全球基本身份validation
- ASP.NET / IIS安全性(Windows身份validation)
在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文件中的虚拟主机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
我正在开发一个主要在内部使用的应用程序,并希望知道如何在不提示用户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 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)
这可能会变成一个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#中实现传递身份validation和c#传递方法的分享已经结束,谢谢您的关注,如果想了解更多关于.htaccess通过虚拟主机的基本身份validation?、AD /表单身份validation、Apache全球基本身份validation、ASP.NET / IIS安全性(Windows身份validation)的相关知识,请在本站进行查询。
本文标签: