检查特定用户是否在lightswitch中具有特定权限

时间:2013-12-14 22:20:37

标签: vb.net linq visual-studio-lightswitch

我在VB中使用lightswitch,我需要检查给定用户是否具有特定权限(“用户”)或不 我尝试过以下代码:

        Dim myper = Me.DataWorkspace.SecurityData.Permissions.Where(Function(p) p.Id.Equals("LightSwitchApplication:User", StringComparison.OrdinalIgnoreCase)).SingleOrDefault


        If Not myper Is Nothing Then
            Dim myu = myper.RolePermissions.SelectMany(Function(u) u.Role.RoleAssignments).Select(Function(us) us.UserName = UserName)
            If Not myu Is Nothing Then
                ' this mean no user has the user permission!
                results.AddPropertyError("found")
            Else
                'user has been found for this permission 
                results.AddPropertyError("not found")
            End If
        Else
            'this mean no roles has this permission !

        End If

但不幸的是myu对象总是返回什么我不知道为什么,对不起,但我是LINQ的新手。

2 个答案:

答案 0 :(得分:0)

您应该使用Application.User对象。

在csharp:

if(this.Application.User.HasPermission(Permissions.PermXYZ))
{
    //permitted
}

答案 1 :(得分:-1)

如果您想查看用户名:

if(this.Application.User.Name.Equals(" UserName"))  {  enter code here  }