NET网页编程之ASP.NET的HTTP模块和处置程序之模块完成(1)
你所列的那些其实差不多都可以称为应用服务器(servlet应该说是一种语言更合适)java是开放的,相同的工具就会有很多公司在做,加上java已经发展了很多年了,因此这些工具就很多了。他们很多都是类似的。<p>完成一个供应平安服务的HTTP模块如今我们完成一个HTTP模块,它为我们的Web使用程序供应平安服务。该HTTP模块基础上是供应一种定制的身份认证服务。它将吸收HTTP哀求中的身份凭据,并断定该凭据是不是无效。假如无效,与用户相干的脚色是甚么?经由过程User.Identity工具,它把这些脚色与会见我们的Web使用程序页面的用户的标识联系关系起来。
上面是该HTTP模块的代码:
<OLclass=dp-xml>usingSystem;usingSystem.Web;usingSystem.Security.Principal;namespaceSecurityModules{ ///Class1的整体形貌。 publicclassCustomAuthenticationModule:IHttpModule {publicCustomAuthenticationModule(){}publicvoidInit(HttpApplicationr_objApplication){ //向Application工具注册事务处置程序。 r_objApplication.AuthenticateRequest+=newEventHandler(this.AuthenticateRequest);}publicvoidDispose(){ //此处空出,由于我们不必要做甚么操纵。}privatevoidAuthenticateRequest(objectr_objSender,EventArgsr_objEventArgs){ //判别用户的凭据,并找出用户脚色。。 1.HttpApplicationobjApp=(HttpApplication)r_objSender; 2.HttpContextobjContext=(HttpContext)objApp.Context; 3.if((objApp.Request["userid"]==null)|| 4. (objApp.Request["password"]==null)) 5. { 6.objContext.Response.Write("<H1>Credentialsnotprovided</H1>"); 7.objContext.Response.End(); 8. } 9.stringuserid=""; 10.userid=objApp.Request["userid"].ToString(); 11.stringpassword=""; 12.password=objApp.Request["password"].ToString(); 13.string[]strRoles; 14.strRoles=AuthenticateAndGetRoles(userid,password); 15.if((strRoles==null)||(strRoles.GetLength(0)==0)) 16.{ 17. objContext.Response.Write("<H1>Wearesorrybutwecouldnotfindthisuseridandpasswordinourdatabase</H1>"); 18. objApp.CompleteRequest(); 19.} 20.GenericIdentityobjIdentity=newGenericIdentity(userid,"CustomAuthentication"); 21.objContext.User=newGenericPrincipal(objIdentity,strRoles);}privatestring[]AuthenticateAndGetRoles(stringr_strUserID,stringr_strPassword){ string[]strRoles=null; if((r_strUserID.Equals("Steve"))&&(r_strPassword.Equals("15seconds"))) {strRoles=newString;strRoles="Administrator"; } elseif((r_strUserID.Equals("Mansoor"))&&(r_strPassword.Equals("mas"))) {strRoles=newstring;strRoles="User"; } returnstrRoles;} }}
<p>刚刚打开这篇专题,猛然见到HAL9000发表的《对于大型公司项目平台选择j2ee的几层认识》系列,深受启发。 主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。 逐步缩小出错代码段的范围,最终确定错误代码的位置。 asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦! ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。 现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。 通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。 HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
页:
[1]