天天看点

LightSwitch中的权限

在LightSwitch中,验证方式分为三种:Windows验证,Form验证,和无验证三种方式,如如果产用前两种验证方式时,就要需要为不同的用户设置不同的权限。

       在LightSwitch中,权限设置方式是简单且灵活的,并且这种权限都细化到了具体的LightSwitch 对象中,这些对象是:数据源,查询,界面,自定义方法

对于数据源,LightSwitch提供了两组方法来控件权限,一组为Delete,Insert,Update,Read,Execute,即对数据源的增删改查,和对数据源的提交(这个对应Entity Framework中的实体集合的SavaChanges方法),另外一组是对实体的All_Execute,Single_Execute,和SingleOrDefault_Execute。

        查询只有一个CanExecute方法来总体限制查询是否执行。

       界面也只有一个CanRun方法来总体限制界面是否启动。

       自定义方法也只有一个CanExecute方法来限制该方法是否执行。

        在整体项目属性面板中,有一个Application Control选项卡,这个选项目提供了我们整个项目的验证方式,和权限设置。在“Define permissions or select permissions to use for debugging”添加自定义的权限名称,这里只是一个权限的名字,当然要和你想要设置的要限在意义上对应起来,因为这里的名字,将生成权限类的一个常量,并且这个常量可以在LightSwitch自带的权限管理系统的角色添加权限时显示出来,这样一来,只要在上面LightSwitch的Can***的方法中验证用户有没有这个权限就可以了,代码如下:

    result = this.Application.User.HasPermission(Permissions.实体一权限 );

<a href="http://blog.51cto.com/attachment/201108/144756524.png" target="_blank"></a>

       用户是某种角色,角色具有某些权限,用户去操作功能时,触发Can***方法,这个方法验证该用户有没有该方法的权限。

本文转自桂素伟51CTO博客,原文链接:http://blog.51cto.com/axzxs/649350 ,如需转载请自行联系原作者

继续阅读