一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Operating System

细说ASP.NET Windows身份认证

我谈到了一些关于ASP.NET Forms身份认证方面的话题,这次的博客将主要介绍ASP.NET Windows身份认证。 Forms身份认证虽然使用广泛,不过,如果是在 Windows Active Directory 的环境中使用ASP.NET, 那么使用Windows身份认证也会比较方便。 方便性表现为:我们不用再设计登录页面,不用编写登录验证逻辑。而且使用Windows身份认证会有更好的安全保障。 回到顶部 认识ASP.NET Windows身份认证 要使用Windows身份认证模式,需要在web.config设置:

Windows身份认证做为ASP.NET的默认认证方式,与Forms身份认证在许多基础方面是一样的。 上篇博客我说过:我认为ASP.NET的身份认证的最核心部分其实就是HttpContext.User这个属性所指向的对象。 在接下来的部分,我将着重分析这个对象在二种身份认证中有什么差别。 在ASP.NET身份认证过程中,IPrincipal和IIdentity这二个接口有着非常重要的作用。 前者定义用户对象的基本功能,后者定义标识对象的基本功能, 不同的身份认证方式得到的这二个接口的实例也是不同的。 ASP.NET Windows身份认证是由WindowsAuthenticationModule实现的。 WindowsAuthenticationModule在ASP.NET管线的AuthenticateRequest事件中, 使用从IIS传递到ASP.NET的Windows访问令牌(Token)创建一个WindowsIdentity对象,Token通过调用context.WorkerRequest.GetUserToken()获得, 然后再根据WindowsIdentity 对象创建WindowsPrincipal对象, 然后把它赋值给HttpContext.User。 在Forms身份认证中,我们需要创建登录页面,让用户提交用户名和密码,然后检查用户名和密码的正确性, 接下来创建一个包含FormsAuthenticationTicket对象的登录Cookie供后续请求使用。 FormsAuthenticationModule在ASP.NET管线的AuthenticateRequest事件中, 解析登录Cookie并创建一个包含FormsIdentity的GenericPrincipal对象, 然后把它赋值给HttpContext.User。 上面二段话简单了概括了二种身份认证方式的工作方式。 我们可以发现它们存在以下差别: 1. Forms身份认证需要Cookie表示登录状态,Windows身份认证则依赖于IIS 2. Windows身份认证不需要我们设计登录页面,不用编写登录验证逻辑,因此更容易使用。 在授权阶段,UrlAuthorizationModule仍然会根据当前用户检查将要访问的资源是否得到许可。 接下来,FileAuthorizationModule检查 HttpContext.User.Identity 属性中的 IIdentity 对象是否是 WindowsIdentity 类的一个实例。 如果 IIdentity 对象不是 WindowsIdentity 类的一个实例,则 FileAuthorizationModule 类停止处理。 如果存在 WindowsIdentity 类的一个实例,则 FileAuthorizationModule 类调用 AccessCheck Win32 函数(通过 P/Invoke) 来确定是否授权经过身份验证的客户端访问请求的文件。 如果该文件的安全描述符的随机访问控制列表 (DACL) 中至少包含一个 Read 访问控制项 (ACE),则允许该请求继续。 否则,FileAuthorizationModule 类调用 HttpApplication.CompleteRequest 方法并将状态码 401 返回到客户端。 在Windows身份认证中,验证工作主要是由IIS实现的,WindowsAuthenticationModule其实只是负责创建WindowsPrincipal和WindowsIdentity而已。 顺便介绍一下:Windows 身份验证又分为“NTLM 身份验证”和“Kerberos v5 身份验证”二种, 关于这二种Windows身份认证的更多说明可查看MSDN技术文章:解释:ASP.NET 2.0 中的 Windows 身份验证。 在我看来,IIS最终使用哪种Windows身份认证方式并不影响我们的开发过程,因此本文不会讨论这个话题。 根据我的实际经验来看,使用Windows身份认证时,主要的开发工作将是根据登录名从Active Directory获取用户信息。 […]

龙生   25 Mar 2014
View Details

修改远程桌面连接数

今天管理一台服务器,远程连接时帐号密码都输入完后,点连接后弹出一个“终端服务器超出最大允许连接数”的提示窗口。 终端服务器超出最大允许连接数 上网查了一下归结一下出现这种情况的原因和解决办法。 原因:用远程桌面链接登录到终端服务器时经常会遇到“终端服务器超出最大允许链接数”诸如此类错误导致无法正常登录终端服务器,引起该问题的原因在于终端服务的缺省链接数为2个链接,并且当登录远程桌面后如果不是采用注销方式退出,而是直接关闭远程桌面窗口,那么实际上会话并没有释放掉,而是继续保留在服务器端, 这样就会占用总的链接数,当这个数量达到最大允许值时就会出现上面的提示。 如何避免? 一、用注销来退出远程桌面而不是直接关闭窗口 二、限制已断开链接的会话存在时间 1、从终端服务配置中修改 运行-Tscc.msc(终端服务配置)-连接-双击RDP-Tcp或右击-属性-会话-选中第一个的替代用户设置(O)-结束已断开的会话[将默认值“从不”改为一个适当的时间,比如30分钟] 2、从组策略修改 开始-运行-gpedit.msc-计算机配置-管理模板-windows组件-终端服务-会话 右边窗口选择 为断开的会话设置时间限制 -选择已启用,选择一个时间 三、增加最多链接数 1、 从终端服务配置中修改:运行-Tscc.msc(终端服务配置)-连接-双击RDP-Tcp或右击-属性,选择“网卡”选项卡-修改“最大连接数”改成你所需的值,当然这个值不也能太大,否则会占用较多的系统资源。不过这里修改的值好像不起作用,设置成无限制时照样还是会出现本文所说的情况。 2、组策略级别要高于终端服务配置,当启用组策略后终端服务配置中的相应选项会变成灰色不可修改。 运行-gpedit.msc-计算机配置-管理模板-Windows组件-终端服务 双击右边的“限制连接数量”-选择“已启用”-填入允许的最大连接数 四、改变远程终端模式 打开“控制面板”,双击“添加删除程序”,单击“添加删除Windows组件”,“组件”,在Windows组件向导对话框中选中“终端服务” , “下一步”,“应用服务器”,“下一步”,然后按照提示即可改变终端服务的模式。 Windows 2000终端服务有2种运行模式:远程管理模式和应用程序服务器模式。远程管理模式允许系统管理员远程管理服务器,而且只允许2个终端会话同时登录终端服务器。应用程序服务器模式允许用户 运行一个以上应用程序,允许多个用户从终端登录访问服务器。但是,应用终端服务的用户必须有终端服务授权,即必须在90天之内在这个域或工作组中设置终端 服务授权服务器,否则用户需删除应用程序,然后再重新安装。 五、修改本地安全策略 控制面板>>管理工具>>本地安全策略>>本地策略>>安全选项>> 1、先找到>>Microsoft网络服务器:在挂起会话之前所需的空闲时间 默认为:15分钟,改为自己所需要的时间(就是登陆后无动作空闲超过多少时间后自动断开) 2、然后找到>>网络安全:在超过登录时间后强制注销。默认为:已禁用,一定要改为:已启用   六、踢出已经断开的连接用户 1、首先通过各种方法连接到服务器上(telnet); 2、上去后,查看登陆用户列表。输入命令:query user; 这样你就可以看出有何不同来啦,可以根据你的具体情况而定。ID为0的用户就是本地登陆的,而在State中看提示,当提示为已断开,则说明用户已经断开还占用着系统资源和通道,这样就可以把该用户踢掉。输入logoff ID,即踢除相应ID的用户。   七、限制用户会话数 对Terminal Services进行限制,使得一个用户仅仅能够连接一次。对于Windows Server 2003,请在Terminal Services Configuration(Terminal Services配置)中将“限制每位用户只有拥有一个会话”(Restrict each user to one session)设置为“是”(Yes)。此外,您可以将“限制终端服务用户使用单个远程会话”组策略设置为“启用”。 —————————————————————————————————————————————————————- 安装了windows server 2008 R2,现在要远程连接,开启了服务器上的远程桌面连接,使用管理员远程登录。默认情况下windows server 2008只允许一个连接。默认一个账号最大2个连接。 因需要两台电脑连接。在windows server 2008 调整下默认配置。 开启远程桌面连接: 计算机—属性—远程设置—勾选"允许运行任意版本远程桌面的计算机连接(较不安全)" 有的时候我们windows server 2008服务器需要多个管理员同时登录的,这时我们就需要修改远程桌面的连接数了,具体修改方法如下: windows server 2008设置远程桌面连接最大数量 系统默认远程桌面连接的数量为1。控制面板—类别选择"小图标"—管理工具—远程桌面服务—远程桌面会话主机设置—把"限制每个用户只能进行一个会话"勾选去掉, 然后双击连接中的RDP-Tcp—网络适配器--最大连接数 修改为2 此时的同时远程桌面连接的数量即设置为2。 如果“最大连接数”选项已选中并且灰显,则“限制连接数”组策略设置已启用并且应用于 RD 会话主机服务器。 通过应用“限制连接数”组策略设置,还可以为 RD 会话主机服务器设置允许的最大同时连接数。此组策略设置位于“计算机配置\策略\管理模板\Windows 组件\远程桌面服务\远程桌面会话主机\连接”中,可以使用本地组策略编辑器或组策略管理控制台 (GPMC) 进行配置。请注意,此组策略设置将优先于远程桌面会话主机配置中配置的设置。   […]

龙生   14 Mar 2014
View Details

windows server 2008修改远程桌面连接数

安装了windows server 2008 R2,现在要远程连接,开启了服务器上的远程桌面连接,使用管理员远程登录。默认情况下windows server 2008只允许一个连接。默认一个账号最大2个连接。 因需要两台电脑连接。在windows server 2008 调整下默认配置。 开启远程桌面连接: 计算机—属性—远程设置—勾选"允许运行任意版本远程桌面的计算机连接(较不安全)" 有的时候我们windows server 2008服务器需要多个管理员同时登录的,这时我们就需要修改远程桌面的连接数了,具体修改方法如下: windows server 2008设置远程桌面连接最大数量 系统默认远程桌面连接的数量为1。控制面板—类别选择"小图标"—管理工具—远程桌面服务—远程桌面会话主机设置—把"限制每个用户只能进行一个会话"勾选去掉, 然后双击连接中的RDP-Tcp—网络适配器--最大连接数 修改为2 此时的同时远程桌面连接的数量即设置为2。 下面是调整超过2个连接的设置方法:要安装终端服务器。 1.在我的电脑右键里选择组策略。 2.在组策略中对位于“计算机配置\策略\管理模板\Windows 组件\远程桌面服务\远程桌面会话主机\连接”中,限制连接数进行配置。 3.好像上面两步就大功搞成了,一般来说是这样。但大多数人都没在角色里增加远程桌面服务。所以还是不能同时连接大于两个用户。 下面来为服务器添加角色。在我的电脑右键里选择管理,在角色里添加远程桌面角色,下一步等,然后重启就ok了 from:http://www.cnblogs.com/moonvan/archive/2011/10/11/2207268.html

龙生   14 Mar 2014
View Details

windows server 2008远程桌面实现多用户同时用同一用户名登录

开启远程桌面后,别人远程我的电脑时,windows server 2008默认只支持一个administrator用户登陆,一个登录后另一个就被踢掉了,有没有办法像server03那样允许多用户用同时同一个用户名登录? 打开控制面板-管理工具,终端服务-终端服务配置 1、连接:RDP-tcp 点右键,属性。网络适配器-最大连接数,2.。默认情况下如果你不添加终端服务功能,最大只能调整为同时2个连接。 2、终端服务器授权模式:点右键,属性。常规,限制每个用户只能使用一个会话,去掉勾,确定。到这里就可以多登录了。如果没有设置生效,重启一下。 3、防止恶搞,阻止远程用户终止控制台管理员。叫我说这一项忒难找,刚刚又重新找了一个遍。 运行-gpedit.msc ,计算机配置-管理模板-Windows组件-终端服务。 终端服务器-连接。 配置:拒绝将已经登录到控制台会话的管理员注销,设置启用。 重启生效。 from:http://dengcunhong.blog.163.com/blog/static/28812917201242611115897/

龙生   14 Mar 2014
View Details

win8如何访问XP的共享文件夹

开启WIN8的GUEST,关闭密码保护共享。 各电脑在同一个名称的工作。 XP不能是HOME版!按以下方法操作。 ***** 开始-运行-services.msc- 找到"server"服务,属性启动类型-"自动"-确定,然后在左边点"启动",确定. 组策略设置: 开始菜单运行-secpol.msc -安全设置-本地策略 用户权利指派- "拒绝从网络访问这台计算机"属性,删除里面的"所有用户组". 安全选项: 网络访问:不允许SAM 帐户的匿名枚举, 属性给"停用". 网络访问: 不允许 SAM 帐户和共享的匿名枚举,属性给"停用". 网络访问: 本地帐户的共享和安全模型,属性改为"经典 – 本地用户以自己的身份验证". 用户管理—启动guest用户 点击桌面我的电脑右键-管理-本地用户和组-用户,把右边的guest用户属性"帐户已停用前面的钩去掉". 重启xp电脑

龙生   10 Mar 2014
View Details

win7系统 ping得通,网页打不开 QQ也不能打开

1.点击“开始菜单”,在“搜索程序和文件”框中输入cmd.exe,出现下图:

2.在cmd.exe图标上点击鼠标右键,在弹出的菜单中选择“以管理员身份运行”,如下图:

3.弹出UAC窗口,点击“允许”.

4.在cmd.exe程序中输入:netsh winsock reset

5.运行完成以后,按照提示,重新启动计算机.

6.重启电脑后,会弹出一个橙色提示框,请选择“允许此程序”,点击“确认”。

7.重新启动计算机

转自:http://zhidao.baidu.com/link?url=cwzYfJPeCK3WG5VUgtlDqMJDNcfXeP5i_YExQBOAQkfMeJaRy5VIcCtq9LxQVTNohtLYnYEJ99K2glNrjrg8ha

Linux 安装VMware Tools

为什么要装 VMware Tools? 因为它可以改善 Virtual Machine 的执行效能,而且可以让 Host OS 和 Guest OS 互通有无,这样我们就不用伤脑筋,要架设什么服务器,来沟通两个 OS,现在就让我们开始吧! 1,安装环境检查 #观看 kernel 版本 uname -r #安装 gcc、make、kernel-headers apt-get install gcc make kernel-headers-2.6.9-42-686 or rpm -ivh package_name 注意: 1. kernel-headers 的版本一定要和 kernel 的版本一样才可以,否则 VMware Tools 无法成功安装 2. 随着时间的移易,画面上的 kernel 版本可能会有所差异,请依照自己的版本操作 2,开始安装 在vmware 的“VM”菜单--“setting”中,点选光驱,选取「Use physical drive」 在[VM」→「Install VMware Tools」--〔Install〕 当我们装了 VMware Toools 之后,要的档案就会在光驱内了,不过要先挂载才可以使用, #挂载光驱 mount /dev/cdrom /mnt #看一下 ls /mnt #将 vmware-linux-tools.tar.gz 复制到 /tmp 数据夹 cp /cdrom/vmware-linux-tools.tar.gz /tmp #进入 /tmp 数据夹 cd /tmp #解压缩 tar zxvf vmware-linux-tools.tar.gz #进入 vmware-tools-distrib 数据夹 cd vmware-tools-distrib #开始安装 ./vmware-install.pl 安装过程的画面,全部使用默认值,一直按 […]

龙生   18 Jan 2014
View Details

Linux软件安装常用方法

1、软件安装卸载,分几种情况: A:RPM包,这种软件包就像windows的EXE安装文件一样,各种文件已经编译好,并打了包,哪个文件该放到哪个文件夹,都指定好了,安装非常方便,在图形界面里你只需要双击就能自动安装。 ==如何卸载: 1、打开一个SHELL终端 2、因为Linux下的软件名都包括版本号,所以卸载前最好先确定这个软件的完整名称。 查找RPM包软件:rpm -qa ×××* 注意:×××指软件名称开头的几个字母,不要求写全,但别错,*就是通配符号“*”,即星号,如你想查找机子里安装的REALPLAYER软件,可以输入:rpm -qa realplay* 3、找到软件后,显示出来的是软件完整名称,如firefox-1.0.1-1.3.2 执行卸载命令:rpm -e firefox-1.0.1-1.3.2 ===安装目录,执行命令查找:rpm -ql firefox-1.0.1-1.3.2 ===参考文章:http://blog.chinaunix.net/article.p…178&blogId=1438 B:tar.gz(bz或bz2等)结尾的源代码包,这种软件包里面都是源程序,没有编译过,需要编译后才能安装,安装方法为: 1、打开一个SHELL,即终端 2、用CD 命令进入源代码压缩包所在的目录 3、根据压缩包类型解压缩文件(*代表压缩包名称) tar -zxvf ****.tar.gz tar -jxvf ****.tar.bz(或bz2) 4、用CD命令进入解压缩后的目录 5、输入编译文件命令:./configure(有的压缩包已经编译过,这一步可以省去) 6、然后是命令:make 7、再是安装文件命令:make install 8、安装完毕 ===如何卸载: 1、打开一个SHELL,即终端 2、用CD 命令进入编译后的软件目录,即安装时的目录 3、执行反安装命令:make uninstall ====安装目录:注意make install命令过程中的安装目录,或者阅读安装目录里面的readme文件,当然最好的办法是在安装的过程中指定安装目录,即在./configure命令后面加参数--prefix=/**, 如:./configure --prefix=/usr/local/aaaa,即把软件装在/usr/local/路径的aaaa这个目录里。一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找 C:以bin结尾的安装包,这种包类似于RPM包,安装也比较简单 1、打开一个SHELL,即终端 2、用CD 命令进入源代码压缩包所在的目录 3、给文件加上可执行属性:chmod +x ******.bin(中间是字母x,小写) 3、执行命令:./******.bin(realplayer for Linux就是这样的安装包) ===如何卸载:把安装时中选择的安装目录删除就OK ===执行安装过程中可以指定,类似于windows下安装。 2、安装完软件后如何执行。 安装完软件后可以有好多种方法执行软件: A、有些软件安装后会自动在应用程序列表里加上快捷键,和windows一样,到那里找就行了。 B、如果在应用程序列表里找不到的话,可以直接在/开始/运行命令里输入命令:启动命令一般就是软件名,如firefox,realplay,xmms等 C、也可以打开一个shell终端,输入软件名,和在“运行命令”里一样。如果不知道命令全程的话,可以输入开头的字母,然后按tab键查找,系统会自动显示以输入字母开头的所有命令/ D、你也可以直接到安装目录下运行启动文件,Linux下的可执行图标和shell终端图标很像 E、到/usr/bin目录里找安装的软件启动文件执行命令。Linux系统把所有可执行的文件命令在/usr/bin目录里都作了启动连接,你可以去那个目录寻找你安装的文件的启动命令,双击启动。 转自:http://soft.zdnet.com.cn/software_zone/2008/0513/858582.shtml

龙生   18 Jan 2014
View Details

在Access中执行SQL语句

Access在小型系统开发中等到了广泛使用。虽然Access提供了可视化的操作方法,但许多开发人员还是喜欢直接用SQL语句操作数据表。如何在Access中打开SQL视图,对于初次使用Access的程序员可得费点时间呢。 1、ACESS2007 (1)点击“创建”--点击 “查询设计” (2)点击关闭 (3)点击左上角的"SQL视图"就可以打开SQL窗口了 2、ACCESS 2003 (1)点击对象里的“查询” (2)点击 “在设计视图创建查询” ,再点击“关闭” (3)再点击   左上角的"sql" (4)就可以输入sql语句了 3、Access里like语句通配符 Access里like的通配符用法是这样:“?”表示任何单一字符;“*”表示零个或多个字符;“#”表示任何一个数字。如: select * from tablename where fieldname like '*沙洲*' 拣尽寒枝不肯栖,寂寞沙洲。 转自:http://www.cnblogs.com/zhouhb/archive/2011/07/22/2114344.html

龙生   16 Dec 2013
View Details

按照功能排列的MIME_type类型

类型/子类型 扩展名 application/envoy evy application/fractals fif application/futuresplash spl application/hta hta application/internet-property-stream acx application/mac-binhex40 hqx application/msword doc application/msword dot application/octet-stream * application/octet-stream bin application/octet-stream class application/octet-stream dms application/octet-stream exe application/octet-stream lha application/octet-stream lzh application/oda oda application/olescript axs application/pdf pdf application/pics-rules prf application/pkcs10 p10 application/pkix-crl crl application/postscript ai application/postscript eps application/postscript ps application/rtf rtf application/set-payment-initiation setpay application/set-registration-initiation setreg application/vnd.ms-excel xla application/vnd.ms-excel xlc application/vnd.ms-excel xlm application/vnd.ms-excel xls application/vnd.ms-excel xlt application/vnd.ms-excel xlw application/vnd.ms-outlook msg application/vnd.ms-pkicertstore sst application/vnd.ms-pkiseccat cat application/vnd.ms-pkistl stl application/vnd.ms-powerpoint pot application/vnd.ms-powerpoint pps application/vnd.ms-powerpoint ppt application/vnd.ms-project mpp application/vnd.ms-works wcm application/vnd.ms-works wdb […]

龙生   11 Dec 2013
View Details
1 32 33 34 41