当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP+学习笔记(五)

ASP
ASP中数据库调用中常见错误的现象和解决方法
ASP取出HTML里面的图片地址的函数
关于分页查询和性能问题
利用Asp生成整站静态
用ASP+XMLHTTP编写一个天气预报程序
轻松检测浏览器是否接受Cookies信息
净化网络环境:ASP程序实现过滤脏话
入门:防范SQL注入攻击的新办法
如何对ASP.NET进行性能优化
ASP无法更新ACCESS数据库解决方法
ASP:利用ASP把图片上传到数据库
ASP:用ASP编程实现网络内容快速查找
ASP:用ASP打造一个小型的网页BBS系统
ASP:用Asp编程实现QQ的在线情况查询
通过表单创建word的一个例子
在ASP中轻松实现记录集分页显示
ASP中实现小偷程序的原理和简单示例
ASP:6行代码实现无组件上传
实用篇:用asp实现QQ在线查询
如何轻松打造ASP计数器

ASP+学习笔记(五)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 26 ::
收藏到网摘: n/a

  八、部署应用

    VS7将一个project编译成一个DLL文件,是一个NGWS装配,一个装配可以用在一台机器上,放到
全局Cache,供所有的应用访问,也可以放到某个应用的装配Cache中,只让一个应用访问。
    ASP+允许动态地引用一个类,只需要提供其装配和类名,格式:
    assemlyname#classname
    
九、安全
    
1).认证和授权
    除了利用Windows提供的认证服务外,ASP+还提供了一种服务,使基于 FORM的认证很方便地实现。
它是基于COOKIE工作的,所以客户浏览器必须支持COOKIE。需要注意的是,ASP+的认证服务是从属于
IIS的认证服务的。
    ASP+提供两种类型的认证服务,一是基于文件的ACL的,另一种是基于URL的。基于URL的培植在
配置文件中。
    配置<security>节中的<authentication>元素,可以有下面几种值:
    none:没有认证
    Windows:NT的用户/组
    Cookie:将未认证的用户转向一个特定的登陆页面。最常用的一种方法。
    Passport:必须安装PassPort服务。
    
    例:
    <configuration>
        <security>
            <authentication mode="Cookie"/>
        </security>
    </configuration>
    
2).基于Windows的认证
    当采用它时,一个WindowsPrincipal对象被附加到Request对象中。程序中可以判定当前用户是否
某类角色,如:
    if(User.IsInrole("Administrators"))
    ......
    还可以取得用户名,如:
    User.Identity.Name;
    User.Identity.Type;
    
3).基于FORM的认证
    a).选cookie模式,禁止匿名访问:
        <authentication mode="Cookie"/>
        <authorization>
            <deny users="?"/>
        </authorization>
    b).配置登陆页,加密用的键,以及Cookie名字,在<authentication>的子元素中:
           <cookie decryptionkey="autogenerate" loginurl="login.aspx" cookie=".ASPXCOOKIESDEMO"/>
    注意,loginurl可以是远程机器,但decryptionkey则在两台机器上的必须相同。descryptionkey
设成autogenerate则ASP+自动选择。但如果一台机器上有多个应用,则最好指定。同时,不同的应用
也该用不同的Cookie名字。因为同一台机器上的所有应用设置的Cookie都将被客户传回来,所以不能同名。
    c).提供登陆页
    d).验证完后(用你自己的验证机制,比如同数据库中的记录做比较),用下面一行:
    CookieAuthentication.RedirectFromLoginPage(username,persistence)
返回登陆页前一页。
    这一句也设定了Cookie,从而让它之后的ASP+认证服务认为用户已经经过了认证。
    如果不想转向原来的页,而是出现特定的页,比如登陆用户可选菜单页,那必须使用另外的方法,
可以用CookieAuthentication.SetAuthCookie设置好Cookie,用CookieAutentication.GetAuthCookie
来获得Cookie.
    另外,上面那行中的第二个参数是一个bool值,表示是否让Cookie永久保存,如果为false的话,
则当用户关闭浏览器后,cookie就消失了。
    用CookieAuthentication.SignOut可以清除Cookie,对应用户退出登陆。
    除了以上的用程序自己实现认证过程外,也可以用配置文件来实现让ASP+帮你完成验证。在
<authentication>节中:
    <credentials passwordformat="SHA1"><