我在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的新手。
答案 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
}