Hafeyang

喜欢研究Ajax
posts - 22, comments - 52, trackbacks - 11, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

置顶随笔

     摘要: Prototype1.5.0 APIs  阅读全文

posted @ 2007-09-06 08:55 Hafeyang 阅读(1148) | 评论 (11)编辑

2007年12月26日

     摘要: 介绍一段javascript改造window.showModelessDialog方法  阅读全文

posted @ 2007-12-26 22:25 Hafeyang 阅读(954) | 评论 (7)编辑

     摘要: 介绍一些重写javascript自带方法的方法  阅读全文

posted @ 2007-12-26 22:10 Hafeyang 阅读(2735) | 评论 (3)编辑

2007年10月16日

     摘要: 介绍AjaxPro使用中的一些特性以及使用注意事项  阅读全文

posted @ 2007-10-16 22:48 Hafeyang 阅读(572) | 评论 (0)编辑

     摘要: 介绍AjaxPro的客户端框架的使用  阅读全文

posted @ 2007-10-16 22:27 Hafeyang 阅读(541) | 评论 (0)编辑

     摘要: 介绍支持.Net2.0的AjaxPro框架对ProfileService的支持  阅读全文

posted @ 2007-10-16 21:07 Hafeyang 阅读(343) | 评论 (0)编辑

使用AjaxPro有一段时日了,感觉是AjaxPro功能虽然没有Asp.net Ajax那么强大,但是很够用,大家关注这个框架大多终止在Asp.net 1.x .可是我认识这个框架的时候,最新版本已经能很好的支持.Net2.0的一些新的特性,比如AuthenticationService(Membership),ProfileService.在这个系列中,我会总结过去一段时间的一些新的发现,包括服务器和客户端的,这里我需要告诉大家,AjaxPro 的客户端也是值得一说的.

我这里介绍的内容都是建立在你对AjaxPro 有一定的了解的基础上的,多一句嘴

Authentication Service

成员资格管理是.Net2.0中的一个新特性,它提供了基于角色的验证和访问控制,在客户端是通过Cookie存储用户的信息,也有使用Cookiless,AjaxPro 只能在Cookie验证的情况下才能使用

首先下载支持.Net2.0的AjaxPro框架,在web.config里注册HttpHandler就OK了

<!--Http handler for AjaxPro-->
    
<httpHandlers>
      
<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
    
</httpHandlers>
页面里注册AjaxPro.Services.AuthenticationService:
//AjaxProAuthenticationService.aspx.cs
public partial class AjaxProServices : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    {
        AjaxPro.Utility.RegisterTypeForAjax(
typeof(AjaxPro.Services.AuthenticationService));
        AjaxPro.Utility.RegisterTypeForAjax(
typeof(AjaxProServices));
    }
}
客户端能使用的方法有以下三个:
  • AjaxPro.Services.Authentication.Login(UserName,Password,callback):callback回调函数参数result.value为bool型,验证成功为true,否则为false .
  • AjaxPro.Services.Authentication.ValidUser(callback):检查是否通过身份,callback参数result.value返回true/false.
  • AjaxPro.Services.Authentication.Logout();用户注销,可以不需要回调函数

基于方法的权限控制

在支持.Net2.0 的AjaxPro版本中可以控制客户端方法的访问权限.Michael Schwarz在他的文档里提供了这么一个方法

    [AjaxPro.AjaxMethod]
    [PrincipalPermission(SecurityAction.Demand, Role 
= "Admin")]
    [PrincipalPermission(SecurityAction.Deny, Name
="?")]
    
public DateTime GetServerTime()
    {
        
return DateTime.Now;
    }
使用PrincipalPermissionAttribute可用于以声明方式要求运行您的代码的用户属于指定的角色或者已经过身份验证,上面的方法允许角色Admin访问同时拒绝匿名用户访问,这个方法不限于AjaxPro ,可以在.Net2.0环境中使用.其标记属性包括
  • Action:SecurityAction枚举型,值可以为Assert, Demand, InheritanceDemand, LinkDemand, PermitOnly, RequestMinimum, RequestOptional, RequestRefuse.
  • Role:允许访问或者拒绝的角色名
  • Name:针对某用户的权限控制,*表示全部,?表示匿名.
  • Authenticated:true/false,是否要求身份验证
  • Unrestricted:true/false不限制访问

与Asp.net Ajax 比较起来,AjaxPro的使用比较简单,功能也大相径庭,有AuthenticationService自然会有ProfileService,下篇文章介绍

posted @ 2007-10-16 20:12 Hafeyang 阅读(308) | 评论 (0)编辑

2007年9月16日

     摘要: 前几天在首页上发了一篇<>后来发现每写一篇都发到主页上有写不合适,毕竟只是介绍一个框架,很调读者的胃口,今天我把这个系列写完了,然后整合的资源发到主页上.
Script.aculo.us框架是基于Prototype框架的一个非常优秀的开源Ajax框架,内含丰富的网页动画效果,还封装了许多的控件和功能,诸如AutoComplete,Slider,InPlaceEditor  阅读全文

posted @ 2007-09-16 14:13 Hafeyang 阅读(3860) | 评论 (7)编辑

     摘要: 介绍框架的Slider控件的使用  阅读全文

posted @ 2007-09-16 13:38 Hafeyang 阅读(827) | 评论 (1)编辑

     摘要: 介绍使用Script.aculo.us的dragdrop.js定义网页元素的拖拽行为  阅读全文

posted @ 2007-09-16 12:53 Hafeyang 阅读(1254) | 评论 (1)编辑

2007年9月14日

     摘要: 介绍Script.aculo.us的又一个优秀的控件InPlaceEditor及其派生控件InPlaceCollectionEditor的使用  阅读全文

posted @ 2007-09-14 17:22 Hafeyang 阅读(826) | 评论 (1)编辑