去除权限

问题:想去除某个页面的权限,使其Public Access:

解决方案:

  • XYZRow里的改为
                [ReadPermission("*")]
                [ModifyPermission("*")]
    其中\("\*"\) means users including unauthenticated ones.
  • XYZEndpoint里的改为
                   [ConnectionKey(typeof(MyRow))]
       去除ServiceAuthorize\(typeof\(MyRow\)\)
  • XYZPage里的PageAuthorize去掉

知识点

  • 继承自PermissionAttributeBase的特性:

     ReadPermission、ModifyPermission、InsertPermission、UpdatePermission、DeletePermission
    
  • Page和Endpoint访问控制特性:

    PageAuthorize:Page的访问权限是读取XYZPage.cs文件Index操作的PageAuthorize特性,这是一个MVC页面控制器。请确保你将此设置为用户权限。

    ServiceAuthorize:

  • 这些特性可以在下面类型中使用:

    XYZRow(可设置Read, Write, Insert, Update, Delete权限)

    XYZPage及操作方法(PageAuthorize)

    XYZEndpoint及服务操作(ServiceAuthorize)

  • 在row中修改访问许可键(permission keys),但是当打开页面时得到错误且没有显示记录:

    XYZEndpoint.cs也需要有[ServiceAuthorize("SomePermission")]特性。这是为了提供中等级别的安全(secondary level security)。在Row中替换访问键。

    我们的控制器类有ServiceAuthorize特性:如果使用时不带参数(如[ServiceAuthorize()]),此属性也会检查该用户是否已登录。当你把访问许可键(permission key)字符串传递给它时,它会检查该用户是否已登录且具有该权限。

    虽然[PageAuthorize]将用户重定向到登录页面,但如果用户没有权限,ServiceAuthorize返回一个更适合的未授权的服务错误。

results matching ""

    No results matching ""