【问题标题】:How to render VisualForce page inputCheckBox in custom controller according to user profile?如何根据用户配置文件在自定义控制器中呈现 VisualForce 页面 inputCheckBox?
【发布时间】:2013-04-21 12:10:42
【问题描述】:

我有一个带有自定义控制器的 VisualForce 页面,我希望用户只有在他们的配置文件中有可访问选项时才能看到像 inputCheckBox 这样的组件。 我已经读到,当使用自定义控制器时,VF 正在系统上下文中运行。 如果用户有权访问,我尝试使用 ObjectType 呈现复选框,并且即使配置文件被阻止到此特定字段,它也确实呈现。 我要隐藏的字段是 Billable 的代码:

apex:inputCheckBox style="width:15px;" rendered="{!$ObjectType.MyObject__c.accessible} value="{!SelectedMO.Billable}"/>

【问题讨论】:

    标签: controller salesforce visualforce renderer object-type


    【解决方案1】:

    您真的需要自定义组件(一切都是从头开始构建的)吗?如果您将使用标准(设置)控制器和自定义扩展,则应该自动为您完成整个可见性事情,并且代码越少越好......

    或者,您可以查询与 Profile/PermissionSet 相关的表。我说查询是因为控制器中的描述调用可能会返回与您使用的 accessible 相同的内容。图表如下:http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_erd_profile_permissions.htm

    这应该是一个好的开始:

    SELECT Field, PermissionsEdit,PermissionsRead
    FROM FieldPermissions
    WHERE Parent.Profile.Name = 'System Administrator'
        AND SobjectType = 'Account'
    LIMIT 10
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      相关资源
      最近更新 更多