【问题标题】:DNN - getting user roles in javascriptDNN - 在 javascript 中获取用户角色
【发布时间】:2019-05-21 09:21:23
【问题描述】:

我在 DotNetNuke 中有一个应用程序。我想检索标头 javascript 中的用户角色列表,并检查它是否具有“管理员”角色。最好的方法是什么?

【问题讨论】:

    标签: dotnetnuke-7 dotnetnuke-5 dotnetnuke


    【解决方案1】:

    你可以这样做

    using DotNetNuke.Common;
    using System.Collections;
    using DotNetNuke.Security.Roles;
    using System.Web.Script.Serialization;
    
    var RoleController = new RoleController();
    var UserRoles = new List<RoleInfo>();
    
    //for dnn 7.3 and lower
    if (Globals.DataBaseVersion.Major < 7 || (Globals.DataBaseVersion.Major == 7 && Globals.DataBaseVersion.Minor < 3))
    {
        UserRoles = RoleController.GetPortalRoles(PortalId).Cast<RoleInfo>().ToList();
    }
    else
    {
        //for dnn 7.3 and higher
        UserRoles = RoleController.GetRoles(PortalId).ToList();
    }
    
    //convert the list to a json array
    var jsonSerialiser = new JavaScriptSerializer();
    var json = jsonSerialiser.Serialize(UserRoles.Select(x => x.RoleName));
    
    //send the json to a client side function
    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "allUserRoles", "setUserRoles('" + json + "')", true);
    

    还有客户端功能。变量json 现在是一个包含所有角色的数组。

    <script type="text/javascript">
        function setUserRoles(roles) {
            var json = JSON.parse(roles);
            for (var i = 0; i < json.length; i++) {
                console.log(json[i]);
            }
        }
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-28
      • 1970-01-01
      • 2013-05-21
      • 2014-05-02
      • 2014-08-14
      • 1970-01-01
      相关资源
      最近更新 更多